The Imagine Compendium, version C ImagineComp: General articles, posts, and miscellany ======================== INDEX ========================================== (new entries are in lowercase, old (version B) entries are all capitals) a. Intro to this edited compilation, by myself (Sandy Antunes) b. Intro to the Imagine mailing list, by Steve Worley c. Comment by Colin Stobbe 1. Accelerating a Rotating Object, by Jim Lange: 2. ANTI-ALIASING (and the jaggies), by Steve Menzies: 3. ATTRIBUTES- fixes, by Dave Schreiber: 4. ATTRIBUTES- LIST, by Steve Worley: 5. ATTRIBUTES-some sources for, by Mark Thompson: 6. ATTRIBUTES- set to zero, by Dave Schreiber 7. Avoiding Intro pic, by Duane Fields: 8. Avoiding Intro pic II, by Steven Webb: 9. BACKDROPS/FRONTDROPS, by Steve Worley: 10. BAR COMMANDS, by Jim Lange: 11. BEVELLED EDGES I, by Steven Webb: 12. BRUSH WRAPS I, by Bill Squier: 13. BRUSH WRAPS II, by Mike Halvorsen: 14. BRUSH WRAPS III, by denbeste@ursa-major.spdcc.com: 15. BRUSH WRAPS IV, by Scott Sutherland: 16. BRUSH WRAPS V-- a corrosion brush wrap, by Matt Feifarek: 17. BRUSH MAPS, by Steve Worley (a treatise on the subject): 18. BUMP MAPPING, by Udo Schuermann: 19. BUMP MAPPING II, by Sean Schur: 20. BUMP MAPPING III, by Mark Thompson: 21. CAMERA FOCAL LENGTH, by Richard Nollman: 22. CAMERA FOCAL LENGTH II, by Udo Schuermann: 23. Changing World Size II, by Udo Schuermann: 24. Clouds and Fog, by Marc Rifkin: 25. Complex Models, by Steve Worley: 26. CYCLE/DETAIL GROUPS, by Helge Egelund Rasmussen: 27. Extruding along a path, by Sean Schur: 28. Filter Brushes, by Udo Schuermann: 29. Fracture, Split, and Taut in Detail Editor, by Steve Worley: 30. GLASS- The Art Of Glass, by Steve Worley: 31. LASERS & SPECIAL EFFECTS I, by Sandy Antunes: 32. LASERS AND SPECIAL EFFECTS II, by Edward Chadez: 33. Light Brightness, by Steve Worley: 34. Light Placement, by Don Whitaker: 35. MERGE, by Steve Worley: 36. METALS, by Mike Halvorsen: 37. METALS II, by Mark Thompson: 38. Mirrors, by Steve Worley: 39. Morphs, Mark Thompson: 40. Movement control, by Steve Menzies: 41. PATHS I, by Stephen Menzies: 42. PATHS, by Steve Worley and Rick Rodreguez: 43. Planets made by Imagine, by Steve Worley: 44. QUICKER RENDERING, by Steve Worley: 45. RENDERING TIMES, by Stephen Menzies: 46. RESIZING (AND AVOIDING SPIKES), by Scott Sutherland: 47. RETRACKING THE CAMERA, by ???????: 48. ROTATING, by Udo Schuermann: 49. Shadows on mapped surfaces, by Steve Worley: 50. SKIN, by Kevin Goroway: 51. SLICE I, by Kevin Goroway: 52. Slice II, by Colin Stobbe; 53. SNAPSHOT I, by ?????: 54. SNAPSHOT II, by Scott Sutherland: 55. Starfields I, by Matt Feifarek: 56. Starfields II, by Juan Trevino: 57. TEXTURE AXIS, by denbeste@ursa-major.spdcc.com: 58. TEXTURES, by Steve Worley (a full treatise on the topic): 59. Wall Paintings, by Udo Schuermann: 60. Walls I, by Mark Thompson: 61. Walls II, by Steve Worley: 62. WORLD SIZE I, by ??????? 63. World Size II, by Steve Worley: ---------------------------------------------------------- (in second part, ImagineAppendix) APPENDIX A: DETAIL TUTORIAL (by Steve Worley) APPENDIX B: FORMS TUTORIAL (by Steve Worley) APPENDIX C: VIDEOTAPE i) dumping to videotape ii) comments on dumping to videotape iii) more comments on dumping to videotape APPENDIX D: CENTAUR TAPE: i) review ii) second review APPENDIX E: SURFACE MASTER i) Advertisement ii) Review 1 iii) Review 2 iv) Additional Details APPENDIX F: TTDDD (an excellent shareware package). i) getting coordinates with TTDDD. ii) making threads. APPENDIX G: WAY COOL PROJECTS i) extruding picture ii) rolling sphere iii) 3-D font APPENDIX H: Credits and email addresses +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ a) Introduction to this compendium, by Sandy Antunes: Hello. Welcome to the third version of the Imagine Compendium. This collection consists of postings to the imagine mailing list, and is clearly at book length at this point. It is an edited, indexed, and condensed subset of the 621,681 byte (compressed!) complete archives which are availible in their entirety at hubcap.clemson.edu. It represents many people's suggestions, advice, and ideas. This posting is freely redistributable except that it may not be sold or distributed for profit. I have tried to keep citations of the original authors with each posting. However, I have edited many of the postings, most notably in taking out chunks of intro header, quoted earlier postings, and .sig files (and a bit of spelling errors). I take responsibility for any muddling of information this may cause. Neither I nor the original authors are liable for damages, however-- you use this collection at your own risk. :) If anyone notices an error or an incorrect citation, please email me (antunes@astro.psu.edu) so that I may change this for future versions. Also, if you want to take over this editing project for future years, please let me know, as I am entering my thesis work and may not have time to keep this up. In general the latest version will be posted to abcfd20.larc.nasa.gov (128.155.23.64) in the /incoming/amiga directory and to hubcap.clemson.edu (130.127.8.1) in the /pub/amiga/incoming/IMAGINE/TEXT directory, under the name ImagineComp##x.lzh, where ## is the year of that edition and x is the version: a,b,c, etc. I will announce when a new version is posted to the imagine mailing list. I do not expect to update this terribly frequently, perhaps every few months. There are two sections, kept seperate to make reading easier. The compendium is lharced to save on space and make distribution easier. The main body is "bread and butter" Imagine advice. The second section contains the appendices, consisting of Steve Worley's Detail and Forms tutorials, imagine-related topics and projects, as well as a list of contributor email addresses. All material should be current with the latest release of Imagine 1.1. The Index is exactly like the respective section headings, so you can use grep, editor searches and the like to skip through this document. ImagineComp.91b headlines (the previous version) are all in upper case; the newer entries are lower cased. Therefore, if you merely wish to update your version, attack this at will with a text editor to cut out the reruns. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ b) (old) Intro to the Imagine Mailing List, by Steve Worley "I am Steve Worley, an MIT student, and I created and maintain this list. The list began the last week of January 1991, about 3 weeks after I got Imagine and wanted a forum to discuss problems, questions, and tricks for this wonderful piece of software. [Wonderfully frustrating, sometimes!] The list is alive and well, with roughly 6-12 posts a day. Membership of the list is at 174 as of this morning, and I add about one person a day. Near the beginning of April I'll post another invite on c.s.a.graphics, which might net about 30-50 more. We recently passed the 450 message mark.. we should have a party or something for # 500. Anyway, for those new to the list, you probably realize that this is a discussion group about Imagine, Impulse's ray-tracer and modeler for the Amiga. Tips, questions, answers, comments, complaints, bug-workarounds, and anything somewhat pertaining to Imagine is fair game. This includes DCTV/Colorburst questions (what a thread!), Lightwave comparisons (Ask Mark Thompson), removable media drives (for big anims), and reviews of Vista (Virtual landscapes in a box), which are just a few of the tangent subjects that I remember seeing discussed on the list. They're all fair game, though baseball stats are probably a bad thread to start. Probably the highest volume traffic is question and answer- "My objects don't all render in trace mode, but it's fine in scanline. Whats up?" There are a lot of people on the list at different experience levels, and if you've been reading you realize there is a lot of support out there. DO NOT BE AFRAID TO POST TO THE LIST! Even the most experienced users might not have thought of your idea or question before, and everyone benefits from the discussion. Odds are you'll get help and advice- remember the ideas that came our from Mark Mane's (sp?) idea about a walk through of a house? There were about 8 posts giving suggestions, and pointing out possible path and lighting problems and fixes for them. How do you send something to the list? It's pretty easy. You just send mail to "imagine@athena.mit.edu" as the recipient's name. Your letter is copied 171 times and mailed to everyone on the list. That's it! If you want to deal with administrivia like adding/subtracting a name on the list, mail me personally, spworley@athena.mit.edu, and I'll try to help out. One danger- if you REPLy to a mail message from the list, you are probably NOT sending a copy to the list, but only to the original owner. To post a followup to the list, either compose a new letter, or remember to change the "To:" line in the reply to "imagine@athena.mit.edu", unless of course you WANT a private reply. Occasionally when you post, you might get a very strange bounce message, from a place you've never heard of before. These are problems caused by users with buggy/lame/confused mailers that I've added to the list. When the mail sent to them is bounced, their brain-dead mailer doesn't send the bounce to the SENDER (the Imagine server) it sends it to whoever is in the "From:" line (you!). If you get these when you post, you can ignore them. (If you're worried, wait until you see your message appear, usually about a 24 hour turnaround) You can also send me personal mail if you like- I keep culling the bad addresses (from users I've just added) and it might help. Summary, though- don't worry about the bounces from stuff you send, as long as you see your message appear on the list. There are two semi-archives of this mailing list, and two FTP sites where you can find them. The archives are found at hubcap.clemson.edu as well as ab20.larc.nasa.gov. In addition to these excerpts, there are also a couple of megs of Imagine objects (That I converted long ago) as well as some other fun things, like a Vista landscape, a new Imagine icon, and a complete project called "Castle" by Helge Rassmussen. I have in my own account a COMPLETE archive of all the messages, and someday I might even edit-assemble them together. One last note- this list and its messages are completely distributable. A couple of BBSes carry our discussion, and a few "members" of the list are actually mailing lists in their own right. Feel free to copy or distribute the info on the list, as long as you 1) credit the authors of individual messages (keeping their names is all you need) and mentioning the source, the USENET Imagine Mailing List, imagine@athena.mit.edu. That's it! Remember, don't be afraid to post! It's free! It's fun!" Keep on rendering, --------------------------------------------------------------------------- Steve Worley spworley@athena.mit.edu --------------------------------------------------------------------------- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ c) Positive Comment and Great Attitude from Colin Stobbe: (the following was one of the responses to the aforementioned house project) "Hello, In regards to your 'housing project', it sounds like an interesting idea. Don't let anyone tell you it's 'far far to big a project for a beginner', however. When I first got Turbo Silver, people told me that what I was attempting was too ambitious, but I did it anyways, learned a lot about the program and won 1st place in the local user groups animation contest. I don't know about anyone else, but I don't really learn when I'm just doing really simple things, by trying something 'too hard for me', I may not accomplish it, but at least I'll learn alot." Colin Stobbe +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. Accelerating a Rotating Object, by Jim Lange: Here is another way to accelerate a rotation. Create a small circular path (can be an open path, but you'll need more than two axes), then scale it so it is very small, then attach your sphere to this path and set the alignment bar to 'align to path'. The idea is that the sphere will not move perceptibly from it's fixed position, but it will rotate as it follows the path. You can then apply whatever acceleration you wish. I am using this technique for a swinging pendulum effect. Actually the path doesn't have to be tiny to eliminate non-rotational motion, just offset the sphere axis to match the radius of the curve. Thus if the curve radius is 1 unit and counter clockwise, then the sphere axis should be moved 1 unit on the X axis. The Y axis will then align with the path and the true center of the sphere will remain at the center of the path. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2. ANTI-ALIASING (and the jaggies), by Steve Menzies: >Question 3 (last one for now): I noticed the dreaded jaggies on the mirror >ball that fills the screen mentioned above. Is there anything I can do to >avoid them? I had thought that closeups on spheres (even in ham resolution) >made it easier for the software to compensate for jaggies (more pixels in >the curve). Will 24-bit rgb color (Colorburst) seriously reduce the jaggies >even in HAM resolution (320x400)? (R. Nollman) The .config file for anti-aliasing defaults to 30. This is ok, but not great. The best is 0 and final rendering should always be 0. So you must edit this file everyso often (before opening Im) or build a front end on the work bench (requires programming knowledge, though). Btw , the anti-aliasing is EDLE in .config file. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3. ATTRIBUTES- fixes, by Dave Schreiber: I've noticed areas of discoloration on objects of mine as well. I've found that going into the attributes editor and reseting all the unused attributes to zero solved my problem (for example, as part of a recent still-life, I made a flat box with a wooden texture. The only attributes I set were color, dithering, and Texture 1. When I rendered the image, one face of the box was purple. I went back and set set the other attributes to zero explicity; the box then rendered perfectly). It appears that there is a bug in Imagine's `defaults' handling that causes weird things to happen if attributes aren't explicity set. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4. ATTRIBUTES- LIST, by Steve Worley: Here are some nice attributes: use them as you will: Black Gloss: (fururistic- looks sleek. Shine & reflect can be boosted.) Color 15 15 15 Reflect 40 40 40 Filter 0 0 0 Specular 255 255 255 Dither 255 Hardness 200 Roughness 0 Shininess 100 Brick (red clay with mortar type) ->very nice. C 112 11 5 R 0 0 0 F 0 0 0 S 155 70 31 D 255 R 118 Sh 0 Brick Texture: Size 24 14 5 Mortar: 1.1 Xshift 12 12 Zshift 2.5 mortar color 60 60 60 Chrome (mediocre quality, needs tweeking) C 60 60 80 R 240 240 255 F 0 0 0 Sp 240 240 255 Dith 48 hard 247 rough 0 shine 177 Glass (beautiful! has just the right tint) C 31 28 86 R 45 45 65 F 235 235 255 Sp 255 255 255 Dith 48 ? hard 230 Rough 0 Shine 0 <=- CRITICAL Index of Refr 1.50 Sandstone (great color, surface. Bands from wood texture can be played with) Color 152 94 70 R 0 0 0 F 0 0 0 Sp 197 76 74 dith 255 hard 43 rough 125 shine 0 texture: wood colr 118 50 30 ring sp 10 expon 7 variat .97 random seed (pick!) Battleship grey paint (neutral. OK.) color 104 104 104 Ref 30 30 30 F 0 0 0 Sp 130 130 170 dith 255 hard 162 rough 10 shine 30 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5. ATTRIBUTES-some sources for, by Mark Thompson: To truly mimic materials such as the ones you mentioned requires calculations and parameters that most renderers do not take into account due to both user complexity and computational expense. For a really good discussion on this topic including a survey of common rendering equations and a possible solution see the November 1990 IEEE Computer Graphics & Applications article "A Realistic Lighting Model for Computer Animators" by Paul Strauss. However, Imagine does have have enough available parameters to do a fair job. "Illumination and Color in Computer Generated Imagery" by Roy Hall is an excellent book for describing the problem of realistic surface rendering and has a number of tables, plots, and guidlines for rendering various materials. In Hall's book, he references Purdue University (1970) "Thermophysical Properties of Matter", Thermophysical Properties Research Center, for the various spectral curves and data for a multitude of materials. Another possibility would be to check the book written for Turbo Silver users (I think its by Victor Osaka but I'm not sure) but I don't know if it covers this topic. Finally, a good rule of thumb for metals is to keep the spectral and reflected colors close to the surface color, don't overdo the reflectivity, and use a moderate hardness. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6. ATTRIBUTES- set to zero, by Dave Schreiber I've noticed areas of discoloration on objects of mine as well. I've found that going into the attributes editor and reseting all the unused attributes to zero solved my problem (for example, as part of a recent still-life, I made a flat box with a wooden texture. The only attributes I set were color, dithering, and Texture 1. When I rendered the image, one face of the box was purple. I went back and set set the other attributes to zero explicity; the box then rendered perfectly). It appears that there is a bug in Imagine's `defaults' handling that causes weird things to happen if attributes aren't explicity set. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7. Avoiding Intro pic, by Duane Fields: No problem, just load "Imagin.pic" into Deluxe Paint (or whatever), and clear the screen. Now save over. What you have is a blank picture with the same pallette as before! Loading time is next to nothing! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8. Avoiding Intro pic II, by Steven Webb: Hello. I made a picture that loads 50-70% faster than the old Imagine picture. It's on Hubcap in the MISC directory. Hope you like it! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9. BACKDROPS/FRONTDROPS, by Steve Worley: Does anyone have a good way of making backdrops or frontdrops for a scene? These are flat images that you want to put in back of (or occasionally in front of) a scene. For example, you might have a nice jungle picture, and you want to make a three-d tree with a parrot in it in front of this simple picture. The use is pretty obvious, the application is not. The best way I've come up with to make a backdrop is the obvious one. You take a plane (or ground for that matter) and color map the image onto it. Then just sorta prop it up in the back of your scene, using the camera view in the stage editor to get the position and size right. You should be careful to keep the specular colors OFF (otherwise you'll get flat highlights on a supposedly 3d scene). This works all right, but shadows fall on the backdrop look just like they're falling on a flat wall, destroying the illusion. Frontdrops are a bit tricker. You create a plane, and colormap the image onto it. However, you should make a SECOND copy of the plane that is black where there is a real image and white where its just background. You then map this onto the SAME plane, as a TRANSPARENCY map. This means that the airplane or whatever you're composting in front will be opaque, and have colors like an airplane. However, the outline around the airplane is perfectly transparent, so you can't see it at all. Helge Rassmussen used an effect like this in his Castle anim (the trees), and it works. Its not perfect, but it's a quick and dirty solution. Problems with this method are the same with the backdrop- shadows on it look stupid, shadows it CASTS look stupid, and highlights destroy it. Any ideas, people? Of course the real answer is a 24 bit paint program. Unfortunately, I don't have one... +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10. BAR COMMANDS, by Jim Lange: Each of the "Bar" commands in the menu have the effect of breaking the corresponding bar in the Action screen. So if you move an object in a frame, in order for it to become a key frame select Position Bar and in the Action editor the position bar for the object will be split at that frame. Alignment Bar has the same affect when you want a new alignment (rotation) to be registered. In your case, the camera must be manually aligned first then Alignment Bar will create a new key frame by splitting the alignment bar. You still must do the Amiga-C step to realign a camera that is tracking an object, however. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11. BEVELLED EDGES I, by Steven Webb: bobl@graphics.rent.com (Bob Lindabury) writes: >Am I missing something here or wouldn't it be just as easy to make a >copy of your outline of a letter object in Imagine, shrink it say 10 >points and then move it in the Y direction 10 points and then skin >between the two or manually create the edges and faces? Well, at first glance, your method SHOULD work, but we don't want a smaller copy of our original, we want a skinnier one (or a thicker one), and this brings up our original problem with "skinning" two objects with a different number of points, as Steve Worley posted here a few days ago. basically, the act of making "bevelled text" is taking the sharp 90-degree corner that is made if you consider the face of the letter one ray of the angle and the extruded faces the other ray, and changing it to make it two 45-degree angles. In drafting terminology this is called "chamfering" and can be done at all sorts of angles, not just 45 degrees. In super-computing graphics this produces a nice "machined"-look for letters, and more chances for HIGHLITES! Let's pretend that the figure below is an extruded "o" - and we chopped off the outside "sharp" angle of the letter (usually, the inside would be chopped too, but as for the limitations of ascii text/graphics, I'll leave it as shown. _______________ ______________ | | /| |\ This is | - - - - - | |-| - - - - |-| the text| | <- center of "o" -> | | | | face | - - - - - | |-| - - - - |-| |_______________| \|____________|/ These are the extruded faces. (BEFORE) (AFTER) If we just used the "shrinking" method that Bob mentioned above, the hole would also be shrunk, and we would get ourselves a 'cone' effect. So, to be completely redundant & longwinded, I'll wrap-up. As Steve Worley stated, the method of making bevelled or chamfered text is greatly inhanced by the use of DPaintIII's Outline/Trim function. Make two brushes for the IFF/ILBM conversion in Imagine. One normal one, and one trimmed or outlined. Now you have the two out-lines in Imagine with different points. Make both of the outlines the same size and add or delete points so that you have two outlines with the same point count. Re-size the one that was shrunk or enlarged originally. Skin the two outlines, add faces for the front face, mirror it, and add the extrusion. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12. BRUSH WRAPS I, by Bill Squier: I had similar problems wrapping brushes on to flat planes until I discovered something that the manual isn't too clear on. Try the following example yourself to illustrate the (serious) caveats of brush mapping (example assumes default function key mapping): In the detail editor: Select Add/primitive/Plane, and except the default plane configuration. Select it with [F1], and edit its attributes with [F7]. Select [] Brush 1, and an appropriate IFF from the requester. When the Axis editing requester appears, select "Edit Axis". A yellow square appears in the "Front View", and a line in the other two views. Press [M] to move the axis, and drag it (in the Front View) so the center point is just outside of the lower left hand corner. The "Front" display will now look something like: z --------- | : | | : | | .===|x --|-- | | | | | | .==-----| | | ----- Where the smaller square is the yellow brush axis. Note also that in the top view, the two X axes are directly on top of each other (you may have to be zoomed in before you begin to see this). Here lies the first problem. Apparently, in order for Imagine to wrap the brush correctly on to a surface, the brush axis must be offset slightly to one side or the other. Before we do that, SCALE the brush with the "S" command so that the top right quadrent (the positive axes) encompass the entire plane. Now go to the top window and MOVE the yellow x-axis to at least 1 pixel below the orange axis. You'll note that it also moves one pixel in front of the orange axis in the right view. It is important that you remember which face is the "front" of your plane. In my test renderings you see a blotchy-patchy IFF from the other side. You will see this same problem on both sides if you let the X axes sit on top of each other. With all of that completed, press the space bar to return to the requester, and select [OKAY] to return to the Attributes requester. To get the best image, turn "Dithering" way down (I usually set it to zero), and select [OKAY]. Save your object, and move to the stage editor. At this point, the only thing you have to remember is which was the "front" of your object, and make sure the camera is pointing at it. For other objects, just remember that the positive portion of the brush axes is the part that contains the image. It is this top right quadrant (from the Front view) that must be enlarged and centered on the object. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13. BRUSH WRAPS II, by Mike Halvorsen: First off there are three basic kinds of wraps and they all have to do with the axis of the brush itself. These types are: Wrap X and Wrap Z, Wrap Z Flat X and Flat X Flat Z. You may notice that It seems that I have left Flat Z Wrap X out, I hardly ever use this type because I can do the same thing with Wrap Z aand Flat X. The brush that is loaded when you tell it to assign a brush to an object is brought in at the center of the axis. IT is mapped in from the center and moves outward in the positive direction of the Z and X axis. The Z is the vertical of the picture and the X is the Horizontal of the picture. The simplest wrap that you can do is the Flat X and Z. It truly is the easiest of them all. Assume for a moment that you want to put a picture on a flat object, this object could have depth to it or it could be a single pixel in depth, it makes no real difference. You assign the brush ( IFF picture) that you want in attributes requester, then go to edit axis. The frist this that you want to do is move the axis of the brush to the lower left corner of the object. This assumes that the object is a simple flat object that is oriented as the axis is, by this I mean that it looks like a wall in the front view as opposed to lying down like a plate on a table. The Z axis of your brush should run right up the left side of the flat object and the X axis should be just below (two or three pixels.) the flat object. Now you must scale the Z and the X axis to be slightly larger than the object itself. If you had a square that was 100 by 100 units then the brush axis might be 105 by 105. In this manner you can be sure that when you palce the brush axis at the lower left hand corner of the flat object that it will cover it like a blanket. All of this can be done from the front view. When you scale an axis in Imagine you must be in the LOCAL mode not WORLD mode. Repeat,,,,, LOCAL, get to this mode after you choose, scale and then choose local. Only the aixs will grow when you do the scale and the bounding box will just hang out and look stupid. >From the right view you must move the axis negative in Y, just a couple of pixels. THis moves the brush off the face of the object so that it dosen't get stuck on the objects face plane and look just horrible. In Turbo Silver you never had to worry about the size of the Y axis. In Imagine you DO. The Y axis defines the depth of the brush or map. If you want to make a decal on something that has more than one side or depth, say the side of a truck. You want to put your companies logo there, but you only want it on one side. No problem, position the brush axis where you want it to appear and then decrease the size of the Y axis to be smaller than the depth of your object. It will appear on one side of the object and not the other. This is also where it seems that many folks are getting all horsed up when they try to make what I call, World and Can wraps using the wrap Z option. To make a world wrap (make a sphere look like earth from outer space) you first need a good map image. (even if you have a bad image the same applies) With the brush assigned to your object move the axis to a couple of pixels below the sphere, scale the Z axis in LOCAL mode to be just a bit larger than the sphere itself. From the fron view it should look like a line from the bottom of the sphere to the top right in the middle of the sphere. OK now scale the X axis to be from it present location just slightly larger than half of the sphere. It should be a couple of pixels larger than the radius of the sphere. NOW Pay attention my friends. If the Y axis is larger than the sphere what do you think will happen ? Of course, you just learned that the Y axis has DEPTH and if you make it larger than the sphere it is going to do something that you won't be able to see. It is going to wrap the image at the end of the Y axis and if the axis is larger than the object, it is going to put the picture wrap outside of the object, in no wrap land. To make this go away all you have to do is make the Y axis smaller than the object. I just make the axis 1 or 2 units in size and forget about it. Make sure that you choose Wrap Z Flat X or Wrap Z Wrap X. You can decide which you like better for planets and other heavenly bodies. The last kind of wrap is the CAN wrap as I call it. You know where you want to wrap the coke logo around a tube or can like object. Do the same thing for the CAN wrap as you did for the sphere or global wrap. Position the brush axis in the same place and make sure that the size of all the axis are the same as in the sphere wrap. The only real difference here is to make sure that you only choose Wrap Z Flat X, all other wraps will look real spooky. See now that wasnt so bad was it. I hope this will help you in your journeys through your own imagination. The best answer to all questions that pertain to Imagine is ...... EXPERIMENT, EXPERIMENT and do it again. Like you I have learned the same way that you are now learning. I tried and tried and then did it again. I dont think much about it anymore cause I have found what I like. You need to do the same. Have Fun and ENJOY +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14. BRUSH WRAPS III, by denbeste@ursa-major.spdcc.com: Reading of the trials and travails some of you are having with wrapping labels on Coke cans, I decided to try it for the hell of it. Anyway, I didn't have any Coke label IFF's so I used a Sports Illustrated swimsuit IFF I had lying around - and got it working. After I post this, I'll be uploading an archive containing a working wrap that you can look at. One thing I found counter-intuitive: If the tube is one from the "primitive" menu, then it is symmetrical by rotation around Z. In that case, the proper settings are: Flat X Wrap Z The size of the brush is also somewhat counterintuitive:Given these settings, the X size of the brush doesn't matter: The IFF is stretched to meet on the back of the tube no matter what the brush X size is.(Except that for reasons I don't quite understand, sometimes when I set it big the brush went away entirely. So I didn't change it from its default size.) However, the Z size is extremely important, as you'll see if you examine my object. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 15. BRUSH WRAPS IV, by Scott Sutherland: While I do NOT profess to be an expert on brush wrapping, let me tell you what I can from 1) experience and 2) and article by Leo Schwab in an old issue of .info (I'll look up the issue and page number if anyone wants, but I THINK that it is the first or second PURELY AMIGA issue). The axis placement for Flat X, Flat Z is CORRECT. However, the axis placement you used for the other three is what is causing the problem. Think of it like this. Imagine (no pun intended ;^) a soda can which is cylindrically symmetric about the Z axis (standing upright in the FRONT view of Imagine). You want to wrap a Label about it. To do this you want to take advantage of the cylindrical symmetry. Below I will also draw spheres for comparison with the original posted question. CAN: Flat X, Wrap Z Z --|-- | | | | | | Front View | | | | | | | | | ---|--- -----X Y | - ( |_)__X Top View - CAN: Wrap X, Flat Z (Note: not appropriate for putting a label on a can): Z | ----- || | || | Front View |________X | | | | | | ------- Y | | - |(---)-X Top View - For spheres it is basically the same: SPHERE: Flat X, Wrap Z: Z | - ( | ) _ +-----X Y | - ( |_)__X - I'll leave out Wrap Z, Flat X for spheres. PLEASE NOTE THE FOLLOWING. Some of the above diagrams are misleading because of limitations in ASCII graphics representations. One, the Bottom of the Z axis in the FRONT view of both examples of Flat X, Wrap Z should be JUST below the object's lower extent (Z). Secondly, the Top of the Z axis in these two views should be JUST above the top if the object's upper extent (Z). The X axis in these two examples should extend JUST beyond the outer X dimension of the object (although I've heard differing opinions on this point). FINALLY, as you may have seen here before, the Y-axis dimension (see TOP View) in Imagine HAS an effect on the wrapping process (apparently not true in Turbo Silver). Set the Y axis length to 1-2 units just to be safe. Definitely Check out Leo's article. It IS for Turbo Silver, but the images he shows are FANTASTIC as conceptual aids for understanding what these wrapping modes do. I reproduced all of the images in both TS and Imagine. As for Wrap X, Wrap Z, I do NOT know why this was included in the software, as I have found NO use for it. Leo was just as baffled. Any comments??? Hope this helps. Let me know if you need the .INFO issue number. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 16. BRUSH WRAPS V-- a corrosion brush wrap, by Matt Feifarek I have found a neat way to make corrosion on imagine. I saw a renderman picture of a teapot (what else?) that looked like it was made out of old, rusty wiring. I duplicated it pretty well with Imagine with a combination of bumpmapping and transparency mapping. Here's what to do: 1. Go into Dpaint III; hires-interlaced; grey scale palette 2. Pick a brush from the top of the toolbox... the second to largest round one should work well. 3. Draw a big angled mess with white on the screen. Try to leave lots of relatively large holes (quarter sized or so) 4. grab the screen or the portion of it that you scribbled on as a brush 5. pick the next grey closer to black from white... press 'o' to outline your brush. Pick next grey, 'o' etc... until at last grey before black. This is why you want to leave some holes... so the outlining will not seal off all of the "hollow" areas. 6. you should now have a wiry-mess brush with VERY soft edges. This is your bump-map (altitute map in Impulse's non-standard lingo ) 7. save into your materials/bitmaps directory or wherever as corrode.bump or something 8. open palette swap color 0 and color 1 (black and white). exit palette, press F2 for color mode, your brush should be black with white holes. reduce the screen format to two colors, save brush as corrode.filt. 9. exit DPIII; open Imagine 10. make your object ( this example a sphere... you therefore may wish to change the wrapping params for planes etc. ) and open it's attributes 11. choose a color that you think is rust... not to hard or specualar... rusty metal isn't shiny. MAKE SURE "SHINYNESS" is off... this causes a bug that apparently disables ANY transparency (fixed in 1.1?) 12. brush 1: corrode.bump; wrapX,Z ( this is up to you... but both images MUST have the same exact mapping coords/params etc. ) 13. brush 2: corrode.filt; wrapX,Z ( or same as what you put for other image) 14. Save object and let her rip! What happens is: The bump map makes indentations with reversed plateaus into the object, and the filter map makes those plateaus transparent. The objects axis should probably be reduced to tone down the indentation caused by the bump map... experiment here. Color mapping can be played with of course... if you don't want rust, use a color map, or use a procedural "Texture" map... a wooden sphere with holes carved out of it would be neat! This is just another example of how texture/brush mapping can fake what would normally be an incredibly huge object that would be inconceivable to try and model. Experiment away! Tell me of any neat variations, or improvements you find!! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 17. BRUSH MAPS, by Steve Worley (a treatise on the subject): Textures are not the only way to add detail to an object. A more direct, less elegant, but more personallizable method is to use brush maps. Brush maps are ways of taking standard Amiga pictures (sometimes called IFFs, though pictures are a subset of the Interchange File Format) that can be placed "by hand" on your object. In its easiest incarnation, you could brush map a picture of your face onto a flat plane, put a frame (using wood texture! ) around it, and you have a virtual art piece. In its most complex incarnation, you could take a set of 40 256-level intensity maps saved as IFF24s and tile them endlessly on a plane during a 40 frame anim, and have the map pixel intensity create reflections and highlights from the flat plane just like it was really an animated, wind-wave covered ocean. Brush maps can give objects the same four characteristics that textures can- surface color, reflection, transparency, and surface orientation. Going back to the "my face in a frame" example, a color map is straightforward. A reflection map will reflect the color and intensity of light corresponding to the map- in other words, a black map would make the picture in the frame reflect no light, a white map would make the picture a mirror, and a yellow map would make only yellow light reflect. [The yellow example is not strictly true.. the yellow-mirror would reflect green and red light, which combine to make yellow]. Transparency (really filter) is similar. Black is opaque, pure white is the clearest crystal, and yellow would let yellow light though. An example given by Rick Rodriguez in his manual is that a filter map of your face applied to a plane would be like a stained-glass window. You could have fun with that. Note that transparent objects have an index of refraction, which is set in the attributes requester. See my article, "The Art of Glass" for a much more detailed discussion on transparency. The last brush type is altitude, which is a bit more tricky. Here, the IMAGINE MANUAL IS COMPLETELY WRONG! [Sorry, Rick!] The manual describes a "displacement map", which is somewhat similar. An altitude map just tells Imagine that light hitting the object's surface should be reflected, refracted, and specularated (!) as if it hit a surface that had a certain shape to it- the shape described by the brushmap's intensity. If you mapped a picture with lots of small fuzzy grey dots onto a sphere, you would get reflections and light highlights as if the sphere had tiny pits in it like an orange. NOTE! The altitude map does NOT change the real surface height of your object at all. THIS is the difference between a displacement map and an altitude map. One option you should use if you're using transparency map is the "Full Scale Value" in the brush requester. This allows you to tell Imagine how transparent a pure white image should be. If you want pure white to be COMPLETELY transparent (invisible) set this number to 255 (full scale). If you set the number lower, you get full white to become opaque to whatever degree you wish. If you're making a stained glass window, you might want to set the number to 200 so that people can SEE that there is "glass" even where there is a clear pane. Impulse's old default was 245, I think. Any standard Amiga IFF can be used as a map. This includes all pictures saved by Deluxe Paint, the most common picture editing program on the Amiga. A format of high color resolutions known as IFF24 saves three bytes of color information per pixel and produces beautiful color reproduction. These IFF24s can be produced from the ToasterPaint, Digi-view RGB saves (only 21 bits, but it is saved as 24 for compatibility), The Art Department, and many other graphics programs. The Art Department is the penultimate tool for manipulating 24-bit (and other) images- it can scale, compost, and manipulate 24-bit pictures painlessly, as long as you have RAM. [It is NOT a drawing program, though] Whatever type of brush you use, remember that Imagine can't do magic to your pictures- a 16 color picture of yourself is going to look positively cheesy compared to a 24-bit picture. For some applications, though, you don't need much more. Applying a 4-color logo to an object won't benefit by using a 16 million color brush - just use 4. Also, higher resolution is obviously higher quality, though it's pointless to use a 1000 by 1000 picture of a logo- even in a close-up shot, it would be indistinguishable from a 640 by 400 picture. Too low a resolution, though will be painfully obvious when you render. Depending on how close of a view you use in Imagine, you usually don't need more than 320 by 200. Again, this is very dependent on how close your camera view is. I've used 100 by 100 brushes to great effect. A fun trick- Imagine can easily _OUTPUT_ IFF24s... you can use a previous rendering as a brush map. If you are truly interested in making high quality brush maps, you should definitely use IFF24s as brushes. If you have DCTV, you have a terrific paintbox for editing pictures. Toasterpaint also works, but is not pleasant. If you don't have either (like me!), you can use a trick that works extremely well. I take a picture to be edited (often grabbed with Digiview!) and in Art Department size it to about 900 by 600 (this is very RAM limited... grey images can get 3 times as large). Then I display the picture in overscan dithered EHB, and save this image. Then I power up Deluxe Paint, and edit the picture. EHB gives you loads of colors to deal with, so you don't lose too much color resolution. [You do lose some!] DPaint can take brushmaps of any size [RAM limited!], and editing them is quite easy. With the very large scale, individual pixels don't matter much, so I use large brushes and the airbrush especially. When you're done editing, I save the picture, and use Art Department to resize the image back to its original size. For 24 bit pictures of a size of about 128 by 128, the quality is terrific! You can see some of the brushes I made posted to ab20 and hubcap (the sidewalk and latticework, and my latest brick wall). Sources of hi-quality pictures are everywhere. Digi-view is your friend- it can make 768 by 480 resolution 24-bit pix. Toaster camera frame grabs will give you 24-bit pix at a resolution of 768 by 240. A fun source of varying quality images are GIFs. GIFs are a graphic picture format, most popular on MS-DOG computers. There are THOUSANDS of pictures, most with 256 colors out of 16 million. You can find about 1000 with a nice index on the anonymous FTP site wuarchive.wustl.edu. I often take these pix and shrink them by 1/2 and save them as 24-bit IFFs- there's no color loss and the file size is much smaller. Once you have your map and know what you want to do with it, you have to place it on your object. The placement determines the size and orientation of the map, as well as how much of the object is influenced, and in the case of altitude maps, how much surface light is distorted. There are three basic types of wrap- a "flat" wrap (Flat X Flat Z), a "sphere" wrap (Wrap X Wrap Z), and a "cylinder" wrap (Flat X, Wrap Z and Wrap X, Flat Z). Flat will ignore any surface bumps and features and just apply itself directly, much like a slide projector would project onto a bumpy screen. A sphere wrap tries to encase the object in the brush, then shrinkwrap the map onto all of the surface features of the object. The cylinder wrap tries to follow contours in one direction, but ignore them in another. Think of taking a piece of gift wrap, and bending it around so its a hollow cylinder. Then place the object in the center of this vertical gift wrap cylinder and push IN (but not up or down!) to follow the object contours. Placing the maps is sometimes tricky. Mike Halvorson wrote a description that was posted about 6 weeks ago, you can find it in the Imagine list archives. Also, the green Impulse Winter 1991 bulletin had two very useful diagrams. What I'm about to describe is not as simple and foolproof as just looking at the 4 simple pictures they printed, due to the mere fact that ASCII graphics suck. But I'll try! FLAT "WRAPS" Flat wraps are the most common and certainly the most controllable of the brush map types. Think of having a decal or poster that you want to stick onto a wall. Flat wrapping will do just this. A good example is trying to put a logo onto the side of a truck- an excellent example of where brush maps shine. First, you should obviously have your logo picture and truck designed and ready. Now, to place the brush onto an object, you should probably use the "Edit Axes" mode. This lets you move the axes with the same mouse and keyboard commands that you normally use for objects... m for move, s for scale, r for rotate, x,y,and z to toggle a direction. A danger with editing brush axes is that you want to be in LOCAL mode, especially when you are scaling the brush axis in just one direction (like you were trying to increase its height, keeping the same width and depth.) If you don't scale in LOCAL mode, sometimes your changes don't stick. You can check by selecting "Edit Axes" again to make sure nothing changes after you're done. The axis you are editing has a bit yellow bounding box that is very deceiving. THE AREA WHERE THE BRUSH IS ACTUALLY MAPPED IS JUST THE UPPER RIGHT QUADRANT OF THIS BOX. The brush is placed with its lower left corner right at the center of the axes, and its upper right corner at a point defined by the X and Z axes of the brush map axis. Got that? Z +----------^------------+ Front View | |xxxxxxxxxxxx| | |x Picture xx| | |xx Area xxxx| | |xxxxxxxxxxxx| | +------------> X | | | | | | | | <-brush map bounding box +-----------------------+ You want to position the axes so that the upper-right quadrant lies exactly where you want your brush to lie. If you want your brush to cover the entire side of the truck, you'd probably want to make the brush a few extra pixels high and wide so that you don't accidentally get a border around the edge of your logo. The Y axis of the brush map is pretty important as well. It tells Imagine how DEEP to apply your brush. Basically, any part of the object that falls between the axis origin and the tip of the Y axis WILL be colored (or reflected, or whatever). For the truck, you'd want to move and scale the brush axis in the Y direction so that the Y axis line INTERSECTS one side of the truck but NOT the other. The intersected side of the truck would be within the influence of the brush map, whereas the other side of the truck would be left alone. If you scaled the Y axis to include both truck sides, the other side of the truck would get the brush map applied to it as well. [In fact, you'd see a mirror image of the brush on the other side, since you'd be looking at it in the other direction.] Here's a terrible ASCII drawing showing how you'd position a brush so that it puts a very small logo on the side of a big rectangular solid, like a truck body. FRONT VIEW +-----------------------------------------+ | | <-Truck body | | | | | ^ X | | | | | Brush | | | axis-> +-----> Z | | | | | | | | | +-----------------------------------------+ TOP VIEW +-----------------------------------------+ <-Truck Body | | | | | | | | | | | ^ Y | | | | +------------------+----------------------+ | Brush-> +-----> Z Axis See how the Y axis only intersects one side? That's about it for flat wrapping. It is pretty easy to control where the brush gets applied to any object. WRAP X WRAP Z WRAPS ----- These are the most complex wraps. The Y axis here isn't really used, since the wrap is applied to the whole object surface, not just part. You want to position the axes so that the Z axis covers the entire height of the object... its height should be slightly TALLER than the object. The X axis should be thought as a "radius of influence"... it should be a little bit bigger than HALF the width of the object. The axis should be placed (LOOKING DOWN!!) at the center of the object, and looking from the side, at the bottom of the object. The Z axis should pass through and be slightly bigger than the object's height. The X axis should be slightly bigger than the object's maximum radius away from the center. The Y axis size doesn't matter. Keep it small, suggests Impulse. OK, Here's the diagram. The object is a sphere. I swear! FRONT VIEW ^ Z <- brush axis | __|__ / | \ - | - / | \ / | \ | | | | | | | | | <-Sphere-like object | | | \ | / \ | / - | - \ | / ---+-- | +--------> X TOP VIEW _____ / \ - - <-Sphere-like object / \ / \ | ^ Y | | | | | +------+-> X | | Brush Axes | | \ / \ / - - \ / ------ That's it! If you wrap a picture of a grid of lines, it will come out looking like latitude and longitude lines on a globe. CYLINDER WRAPS (WRAP X, FLAT Z, FLAT X, WRAP Z) The brush placement is identical to the placement used for the spherical wrap. The effect is quite different, however. If you tried cylinder wrapping the grid picture onto a sphere, you'd get OK latitude lines (going North-South) but the longitude lines would get further apart the closer you were to the poles, due to the flat projection of the horizontal lines. The lines themselves would also be wider at the poles. One last note for brush axis placement- for adding ALTITUDE maps, the Y axis depth is used to measure how much indentation a full scale range of intensity (0-255) should simulate. For cylinder and sphere wraps, just scale the Y axis. For orange pits, the axis might be 1% of the sphere's size. For an eroded planet, you might use 10%. More than this would make really stupid looking reflections. Altitude maps are subtle. The Y depth is also used for flat altitude wraps, which might limit you if you want to indent both sides of a truck. You'd have to use two brushes in this case. I would have preferred a number gadget in the brush requester. ---------- Once you know how to place individual brushes, you can start with the fancy tricks. Brushes overlay each other just like textures. You can put up to 4 brushes on an object, and they are applied in order. Many maps don't interfere, though- you could have a color map and a reflection map on the same object in the same place. Both will work just fine. I am not positive, but I'm pretty sure brushes are put on AFTER textures are applied. Otherwise you'd get wood grain on your face. :-) Repeating brushmaps are a joy. They "tile" an object with an endless succession of images both side to side and top to bottom. The brush will repeat all the way out the the end of the object. If you tile a ground, the brushes will go to infinity. The size of each tile is set by the brush axes, just like a non-tiled map. The brushes are placed next to each other with no space between them. You could draw a VERY detailed picture of a bathroom tile, and map it onto a wall. when rendered, the wall would be (surprise) tiled! I've used this to GREAT effect for making very detailed sidewalks, rose trellises, brick walls, roof shingles, and golf greens. All of these are flat wraps. To be honest, I haven't tried infinite tiled wrap wraps... I'm not sure what they'd do! Placing repeating brushmaps is just the same as a regular flat wrap. The size of the brush is determined by the X and Z axis, and the "depth of influence" is determined by the Y axis. One additional option that is very useful is the "mirror" option. This makes every tile be a mirror reflection of its neighbor. The great advantage of this is that the edge colors ALWAYS match, just like if your finger touches a mirror, your twin in the mirror will reach out and touch your finger at the exact same place. This might hide discontinuities in your brushmap if you want to hide the seams, or it might be a special effect you're looking for. Repeating brushmaps aren't just for covering an infinite plain with your face. They can be an extremely powerful way to get very complex textures on an object. You can imagine drawing one very high resolution, high quality brick with scratches, pits, chips and tiny detail, then tiling it onto a wall. Presto! You have a brick wall with a lot of character, unlike the Brick texture which is too plain to fool anyone up close. This is probably the most useful aspect of infinite tilings. You can find my infinite sidewalk, infinite golf green, infinite brick wall (very nice!) and infinite rose trellis on ab20 and hubcap. When I refer to "ab20" and "hubcap" I mean the anonymous FTP sites ab20.larc.nasa.gov and hubcap.clemson.edu, both of which have a lot of Imagine files, objects, brush maps and goodies that I've uploaded. There is also an archive of this list on both sites. If you need to know if you have FTP access and how to use it, ask one of your local computer experts- they should be able to help you. The last brush map ability is very useful. You can actually have ANIMATED brush maps which change every frame. Note that these pictures are not "AnimBrushes" that DPaint will save. These are individual pictures, which means you can have a 24 bit "animbrush." To use this feature, you should save the sequence of pictures you wish to show in a format like Mypic.0001 Mypic.0002 Mypic.0003 Mypic.0004 Mypic.0005 and so on up to however many pictures you have. Make sure to have FOUR numbers in the extension. Mypic.01 will NOT work. To use this sequence of pictures as an animation, you should use "Mypic" as the brush file name [without the quotes], then set the "Max sequence #" to the number of pictures you have. I wrote a LONG article about how you can make animations of yourself using Digi-View and a VCR. You might have seen the animation with me "trapped" inside of this giant sphere rolling around on a plane, with my pitiful attempts to break out recorded in 16 glorious colors. You too can do this with YOUR setup. It's worth playing with! You can find the article in the Imagine archives on hubcap. That's all there is to brush maps. They can add a lot of detail to your objects, and they're not hard to use if you know how to place the axes. Go out and create! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18. BUMP MAPPING, by Udo Schuermann: It appears that there is some confusion about Bump mapping and Altitude mapping. Let's see if this clears it up: Imagine's "Altitude Map" *IS* bump mapping. It involves using an IFF picture to specify at which locations the surface normals are altered. This does not create an actual pitted surface, or actual 3D alterations, but it does create a good illusion of these. It works best on very small alterations, such as the pits in an orange peel. Don't expect good results with it, trying "stamp" your big initials into an object, and don't even try to grow "spikes" out of the object using this technique. As Altitude Maps (Bump Maps) use your own IFF creations, there is none of the uncontrolled randomness that you get with Roughness. They do not require any "additional polygon detail," either. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 19. BUMP MAPPING II, by Sean Schur: All bump mapping, no matter what system you are on (Amiga or Silicon Graphics) is only the -appearance- of bumps on a surface. There is something new, that only the very high end systems have at this point, called "displacement mapping". This takes the same signals as bump mapping to do it's work. i.e. you are mapping an image onto a surface and it knows what is high or low by the luminance values of the image. The difference is that with displacement mapping the image you are mapping literally is pulled out and pushed into the surface of the object. If you are mapping a rose onto an object (this is one I have seen done), you can turn the object side- ways and see the various hills and valleys of the rose. With bump mapping, if you turn the object sideways you still see a smooth surface, even though from the front it "appears" to have depth. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 20. BUMP MAPPING III, by Mark Thompson: > >Bump mapping = preturb surface normals > >Displacement mapping = preturb surface polygon vertices > Could you explain to me what the difference between these two > is?? To my untrained ear (and graduate school-fried brain) these sound > similar if not the same. > Scott Sutherland No problem. First of all, the lighting/shading of surfaces of a 3D polygon based object is based upon the surface normals of each polygon and their angle to the light source(s) and the observer. These surface normals are computed based on each polygon's vertices. The idea behind bump mapping is to modify these computed normals based on either some image or procedural function (ripples, noise, dots, etc.). The net effect is that the shading of the object gets the bumpy appearance without being bumpy. This is most effective when using a shading model (like Phong) that interpolates the normals across the surface of each polygon based on the adjoining polygons in the object. In this case, every pixel has its own associated suface normal which can be modified by the mapping function. Displacement mapping on the other hand physically modifies the actual vertices of the polygons. The mapping technique is the same, but what is being modified is different. The displaced vertices will then yield displaced surface normals which will look bumpy when the shading model is applied. So in this case not only does the surface look bumpy, it is bumpy. So if you ignore the coloration/shading and look at a silhouette, a bump mapped sphere is smooth and round, but a displacement mapped sphere will be nobby and irregular based apon the function or image used. The advantages are obvious especially if you want to simulate an uneven terrain on a flat plain. The disadvantage is that displacements can only occur at polygon vertices, so if you want to increase the detail in your bumps, you must also increase the number of vertices (polygons) in the surface. Since bump mapping works with the normals and not the vertices, a complex bump function can be created on a single polygon. Just in case I've confused anyone, here a picture to really mess ya up. ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Surface nornals ____ _____.| |.____ _____.______.____ Actual polygon surface Displacement mapping Bump mapping Something else of note, I don't believe there are any existing algorithms for implementing displacement mapping in a scanline based renderer (only ray-tracers). The same is true of fur and other 'hypertextures' which require similar types of rendering methods. Hope I managed to make this all lucid enough. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 21. CAMERA FOCAL LENGTH, by Richard Nollman: I discovered (it was in the documentation clearly presented) that I could change the focal length of the camera by changing the size attribute in the Action Script for the camera. The X/Y ratio controls the focal length of the camera. A larger X value creates a wide-angle effect while a larger Y value creates a telephoto effect. I was impressed. I was wondering if the Z value has any effect on the camera lens. I tried several different settings with no discernable change. Any comments? I tried to change the focal length for a specific range of frames within an animation, but every time I set new values for X and Y, the values changed for all the frames. I tried breaking the ranges up by breaking up the time line into sets of frames (1-10; 11-20; 21-30). No dice. Has anyone been successful in using different focal lengths in the same script? Finally, I discovered something that surprised me. I had been under the impression that if the camera is outside the world (beyond 8000 on any axis) that the scene would not render correctly. I had some instances in my first renderings of the screen being black (dark gray). An experienced Imagine user told me that my problem was that my camera was outside the world and when it sent a ray out, it looked for the end of the world. Since it was already outside the world to begin with, all rays were recorded as blank (null). I scaled down my scene and located my camera inside the world and the scene rendered fine (my first successful rendering). A few days ago I discovered that placing my camera and lights outside the world rendered fine. Has anyone had experience with the camera placed outside the 8000x8000x8000 limit of the world? +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 22. CAMERA FOCAL LENGTH II, by Udo Schuermann: Focal length is a function of the X/Y ratio. If you change both X and Y simultaneously by the same amount, the ratio is unchanged. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 23. Changing World Size II, by Udo Schuermann: Change the SIZE channel of the GLOBAL actor in the STAGE/ACTION editor. I don't know what it defaults to, but it will definitely accept values such as 16383 (16K-1) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 24. Clouds and Fog, by Marc Rifkin: Whew! I just got done reading 80+ Imagine messages and now I can start posting (and be up to date). So my first question is how to make objects more or less difuse in Imagine - I use Lightwave too and that has Difuse, but in Imagine all it seems I can do is change the size and brightness of the hot spot. My problem is I am making buildings and their sides are all coming out the same color looking like a big grey splotch on the screen. I would like them to have distinct light and dark sides. Also- what does Shininess do? I've rendered objects with and with it, with other attributes changing and I can't get any result. Someone asked about fog- well the technique I found can also be used for cloud layers. Make an IFF of clouds (in greyscale) or very fuzzy clouds for fog and map it onto a plane as a filter map. With the Full Scale Value set at 255, anything white in the IFF will be clear and the darker shades will create more opaque levels (thicker) of cloud/ fog. Put the plane between you and some objects. This worked well when I did a plane flying above the clouds with the ocean underneath. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 25. Complex Models, by Steve Worley: A few people have asked how to make complex models like planes, cars, spaces stations, etc. from scratch. I actually wanted to write a tutorial on this, but it looks like I'll be busy with other things. Anyway, I'll give the basic gist. First, there is NO such thing as a complex model! The fanciest space station is just an assembly of a lot of SIMPLE parts. The more subparts, the more detail. The most detailed models I can think of, Mike Halvorson's robot, Glenn Lewis' steam engine, and my space station, all share one feature: they are a group (or heirarchy) with around 50 member objects! All of these models are avalable on hubcap; go take a look at them. You'll notice that the individual sub-objects are very simple in their own right. Mike Halvorson wrote once (I think in the Winter 1991 Impulse bulletin) that the way to build a model was to work on each piece at a time. Don't build an F16 straight, build it a piece at a time. A fuselage can come out of the Form editor, a wing can be extruded (and the other wing made from a mirror image copy), a jet exhaust can be spun. It is also much easier to give each of these sub-parts their own attributes and brushmaps, as opposed to working with a single object with many points that have to be hidden with "hide points". Another advantage is you can whip together a crude model, then selectively replace the parts with higher quality subsections later. One method for making models is very straightforward- go to your local hobby store and buy a plastic model kit of a cool plane. It's great! The parts are all scaled to the proper dimentions, they come in logical and convienient sub-parts, you have a physical model to MEASURE if you need to know exact sizes, and being able to hold the part in your hands and flip it over can give you an excellent image in your mind of how the shape looks in 3D. Making models from memory is certainly easy, but images tend to look weird and distorted, because proportions are slightly off, positions may vary, etc. Remember my dolphins? If you really want to learn how to model (grin), go ahead and BUY A KIT. They only cost about $10.00, and you can give it to your kids or a neighbor when you're done. (Or build it yourself!). Also, remember the kits come with COLOR DECALS that you can digitize and apply as brushmaps! Even without a digitizer you can use them as reference and recreate them in a paint program. It is lucky that a lot of the 3D models people want to play with (planes, cars, spaceships) are also the most popular plastic models. Get yourself a very fine ruler; I have one that has 50th's of an inch. You don't have to measure every single part every which way- it just helps if you're trying to create a very good copy. Another trick is that you can digitize the parts (in 2D) along their cross sections. You don't use these in actually building your 3D version, but you can leave the outlines (from converting from an IFF) around as a reference. Here you have to be careful of scale. And of course, some objects (like a flat, simple airplane wing) might be easily digitized then just extruded and faced. Those of you with USENET access might be interested in joining the group alt.models. It has a lot of posts that don't apply, but there are good discussions like "XXX has just released a new model of the F-19. It's very accurate, and I got it for $11.00". You are free to build objects any way you want, but if you want really professional results without much hassle, you can try the plastic model approach. Most models are of vehicles, though you can find some of the human body, of engines, and a few other weird objects. And for $10, you're not risking too much! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 26. CYCLE/DETAIL GROUPS, by Helge Egelund Rasmussen: It is possible to circumvent all the problems connected with the proper setup of a new cycle editor object; this is done by creating the full object in the detail editor, and then load this object into the cycle editor. If the object is a grouped object consisting of subobjects, each subobject will be assigned to its own segment. It is much more easy to place the subobjects at the correct positions in the detail editor. When you load the object into the cycle editor, the only editing commands that you'll need to use is 'pivot' and 'twist'. The move command will only be used to move the full object. Here is some 'hints': - You should NOT group alle the objects together in one go. Instead you must group the objects together in a lot of steps. Here is an example: You want to create part of a human object consisting of the following objects: a hand, a arm, a shoulder, a body After placing the objects at the correct locations in the detail editor you should create the following groupings: Group the arm to the hand (arm is the 'parent' object) Group the shoulder to the arm (shoulder is the 'parent' object) Group the body to the shoulder. If the shoulder is part of the body object, you should use an axis as the shoulder. Otherwise the arm would pivot around the body! - Be sure to place the object so that it is facing in the positive Y direction. The stage editor expects this direction, and if you want the object to follow a path, then the object WILL move in the positive y direction. - Place the axis for a object where you want a sub-object to connect to the object. This is necessary as the sub-object will turn around the axis of the object. Example, you want to connect a foot to a leg and then to a body: Be sure to be in 'pick group' mode. Place the axis of the foot in the toes. Place the axis of the leg at the bottom of it (you want the foot to turn about this point). Place the foot and the leg at the correct positions. Press the shift key, select the leg, select the foot and group the objects. Place the axis of the body at the lower part of the body (you want the leg to turn about this point). Press the shift key, select the body, select the leg and group the objects. Now save the object. This object can be loaded into the cycle object. - Remember that it is the 'top' object of the group that will follow a path in the stage editor. Because of this, you can't move the 'top' object relative to the path, so it would be a stupid idea to use a real object as the 'top' object: The solution is to create an axis and group the final object to this before you save it. Example: When you make an object walk, the body is the fixpoint, and the legs move. However, if you want the man object to bend over, it is the legs that are the fixpoint, and the body that move. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 27. Extruding along a path, by Sean Schur: Here's what you do: You do NOT use "create path". Create your object outline to be extruded. Add a new axis and make it correspond more or less with the axis of your object. "Add lines" to the new axis from the y axis in the shape of the path you want your object to extrude along. Name that new axis "path", then extrude your object along the path. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 28. Filter Brushes, by Udo Schuermann: bobl@graphics.rent.com: > I can't for the life of me get the filter brush map to work. The > docs don't really explain it and I can't seem to get any transparency > at all. As I understand it, you should be able to take a > multi-colored brush, map it on an object and select filter and be > able to see through the various colors. Am I mistaken? Bob, you've got the correct idea, regarding filter brushes: 1. The color of any pixel indicates how much light it lets pass through (just like Imagine's general filter slider). Black will pass nothing, blue passes only blue light, white passes all, etc. The RGB guns of the color determine how much of a particular "wavelength" is let through. 2. I've found a relatively simple formula for getting all brushmaps to work flawlessly. I can consistently map an iff onto an object (at least the flat ones): brushes "live" only in the POSITIVE ( >0 ) X,Y,Z of the brush axes. Always, ALWAYS, move/scale the axes so that the object lies in the positive area ... not 0, but ABOVE 0. Get it? This is different from Textures, which live in both the positive and negative coordinates. Bob, your problem may be that the Z-axis is flat on the object and the result is all black color or perhaps some random noise pattern, which may be mostly black on black. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 29. Fracture, Split, and Taut in Detail Editor, by Steve Worley: Fracture will take any selected faces and split each into four new, "fractured" faces by adding three new points, one on the bisector of each line segment. Faces that share an edge with a fractured face will split in two, so they keep the same edges in common. Fracture is useful for increasing "face resolution" for better Phong shading, coloring, and attribute assignment. Split will take all of the selected points and "split" them apart from an object to form a new object. Thus, you could sever the wing of a plane to form a wing and a fusalage. Previously, you'd have to use slice, or delete the appropriate points on two copies of the object. Any edges and faces connecting the selected, "split", points and the non-selected points will be deleted. A new axis is created with the same size, position, and orientation as the orignal axis. Taut takes and makes a set of connected line segments line up in a straight line. For example, if you "add lines", you'll get a string of connected points in a row. If you "select points", select all of them in order, then use "taut", they will string themselves out in a straight line between the first selected point and the last. This feature migght be useful in creating pointed paths, or making outlines for skin or extrude. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 30. GLASS- The Art Of Glass, by Steve Worley: Glass is perhaps the hardest look to perfect. It is obviously a worthwhile attribute to use, but it is tricky to get it just right. The first obstacle is just to get it working. The MOST common complaint is "I can't make ANYTHING transparent". The reason is a bug in Imagine. ANY shininess in an objects attributes shuts down transparency. You have to use 0 shiniess. Not a small amount, zero. Only then can you get it to function. Transparency is controlled by the filter attribute.The higher the attributes, th more light of that color gets though. In this way, the name "filter" is a bad choice in my opinion- to filter light completely, you select 0 0 0. Good transparency needs a good amount of amplitude. Subtle amounts just do not show up. For a transparent object, 200 is the smallest I use, but you can experiment. Objects that you can see clearly through I usually pump up to 240-255. Also, glass has a SLIGHT bluish tinge, so I use RGB= 250,250,255. Cherry Jello might be 240, 140, 140. Glass is a real light reflector- It has very bright, tight highlights. I crank specular up to 255,255,255, and hardness up to 255. Having soft higlights looks wrong and also blocks out some of the image coming though. If you want to use glass, don't forget the index of refraction. The index of refraction tells how much light bends when it moves from one media to another. The larger the index, the more the bend at the intersection. A value of 1.0 makes no bend, and is like air. A value of 2.9 will bend light so far that it's almost unreal. A list of refractive indeces- Air 1.02 Ice 1.309 Alchohol 1.329 Water 1.333 Glass 1.50 Quartz & salt 1.644 Diamond 2.417 Remember, setting a sofa to being transparent with an index of refraction of 1.309 will NOT make everyone say "Wow! Its made of ice!" The other attributes are just as important in giving transparent objects character. Also, with the index of refraction too high, light coming though will be so bent there will be no image recognizable. Especially for objects that are large or complex, a lower index of refraction looks better (and traces faster!) Anything that is transparent becomes a lens, and a sofa is a crummy optical instrument. For a transparent sphere, I had to lower the index to 1.08 to make objects on the other side recognizable. Roughness and altitude maps are particularly effective with transparent objects. The direction light bends depends on the surface orientation at the spot it enters and nothing else. Thus, a rough or altituded (?) surface adds a lot of effect to the transparent light. Think of a fresh ice cube- you see a lot of light though it, but the frost on the outside makes it hard to look at anything THROUGH it. If the frost melts, the outside surface is smooth, and you can see though the ice pretty easily. I prefer using a random altitude map made by using the airbrush in DPaint III than using the rougness attribute. The reason has to do with roughness being a random surface direction change (like it should be), but its not consistant from frame to frame of an anim- it looks like there's lots of bugs crawling on it, to steal Scott's complaint. The surface direction is very important to the character or transmitted light, so Phong shading is very important as well. Phong shading smooths objects made of polygons into a smooth(er) surface, as opposed to having faceted sides like a cut jewel. Phong shading is used for determining the direction light bends, so (just like roughness) it will make the character of your object change. A note- If you have any of the objects I put on ab20.larc.nasa.gov, some objects are NOT phong-shadable. This has to to with them having duplicate points and edges so Imagine doesn't realize the faces are adjoining. To fix this, use an undocumented feature in the detail editor, called "Merge" to merge the duplicate points, then you should be fine. The objects in the first two files on ab20 are all this way- the files 3-5 I think I caught most of them and already merged them. The color that you set glass determines the shade Imagine will give to non-perfect glass- ie glass without transparency set at 255 255 255. Black ( 0 0 0 ) works well, since then the color doesn't cover up the image. You can experiment, though. One last important attribute of glass is reflection. Glass reflects light a little bit, so should be slightly reflective. Too reflective, and the transmitted image gets overpowered. Think of a window- you see though it quite clearly without seeing much reflection. At night, when there is little light coming though, you can see the mirror-like qualities of the glass. Transparency should almost always dominate. Good value for reflection are in the range 30-60, and again, I use a SLIGHT blue tint. A fun, advanced topic is lenses. You can make them, and they'll actually work! To make a simple lens, make a primitive sphere of a pretty hefty # of slices and sections (like double the default). Go to "select points" mode, and use the dragbox to select all but the top 20% of the sphere. Delete these points. Move the axis to the very bottom of the half-lens using M (shift-M). Make sure that the axis' Z location is as close to the Z locaton of the bottom ring of points as you can (important!) Then select the object, COPY it, PASTE it. There are now 2 identical half-lenses on top of each other. Select one, then use Transformations to scale it x=1.0 y=1.0 z=-1.00 mirror reverse it. If your axis is placed right, you'll have both half lenses sharing the center (previously bottom) row of points. Select both halves, then JOIN them into a single object, then MERGE them to get rid of the duplicate points in the center. Set the attributes to glass, and Voila! a lens! It works! This is a converging (magnifying) lens, and you can try a diverging lens, though I haven't, yet. The lens will also take much larger indexes of refraction without munging the image, unlike the sofa. Quick rules- object far away, you'll see it upside-down. Too close, it will be really big and out of focus. At the focal length, it will be in focus and magnified. Focal length is proportional to R (of the sphere) and the index of refraction. Kinda advanced, but lotsa fun. Steve's cool transparent ball- Color =0 0 0 Transp= 250 250 255 Reflec= 49 49 53 Specular= 150 150 150 hardness= 255 255 255 rough=0 shininess=0 (CRITICAL) Index=1.08 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 31. LASERS & SPECIAL EFFECTS I, by Sandy Antunes: Well, I finally mastered an obvious technique, i.e. How to make flaming lasers in Imagine! This technique is useful for lots of effects, actually. Just make your animation as usual, making the frames in ILBM format. HAM or HiRes is okay (heck, use lores if you want!) Figure out which frames you want the lasers in. Load them one by one into DPaint or DigiPaint or whatever your favorite paint program is that handles that format. PD programs like "paint" are useful enough for lasering, but it's nice being able to do more complicated stuff. Then, just draw in the lasers. I suggest they be slightly blurry rather then having crisp edges, but it's easy enough to find one that looks nice. Save each file back to its original name, then hop back into imagine and have it make the animation for you! I suppose if you're doing 24bit images you'll need MacroPaint or such. I don't know... I scrape along with an A500 w/only 3 megs. Another great use here is deleting things from the pictures... like individual stars and such. Think of it like a real movie... Imagine is the film crew and actors, the paint program is the special effects company making final touches. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 32. LASERS AND SPECIAL EFFECTS II, by Edward Chadez: Another use of Sandy's clever technique is to add special effects into the ILBM pictures via a paint program just like Sandy did for the lasers. I prefer Photon Paint or DigiPaint III (I don't own deluxepaint...no flames please) because most of my Imagine animations are HAM. I added things like shields and lasers and stuff like that much the same way Sandy described. However, it may be more convincing to actually build these objects in Imagine. With the ability to create translucent objects with transparent bit-mapping and textures that can be seen thru, it shouldn't be too difficult. Especially now since you can add brightness to objects. Imagine (no pun) a long narrow cylinder that is bright, which is at the center of another cylinder that is partially transparent with either a texture applied to it (wood or disturbed, I suppose) or a bit map made with your favorite paint package. With enough work, you could produce convincing effects! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 33. Light Brightness, by Steve Worley: Sean Cunningham asks: My only question is: will a SPHERICAL light set at 255 all be bright enough to cause visible spots on the surfaces in a scene? ----- No, I bet that a light of 255 won't work too well. So crank it up to 2000! For a long time I thought lights were limited to 255: I was wrong. (Its logical that lights can be as bright as they want). Values above 500 or so are pretty severe: they cast strong shadows, like a very sunny day. Above 3000 or so and it looks like your world is lit by nuclear weapons. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 34. Light Placement, by Don Whitaker: >How does one knoe where to put the lights? Here's a good basic lighting set-up that I use for a lot of test renderings..., I use 2 lights. I position the first behind and a little to the right of the camera. Just accept the defaults that Imagine offers (i.e. Spherical, 255 for the RGB intensities). For the second light, I usually cut the intensities to about 120 or 160. Then I position it about 90 degrees from the first light (behind and a little farther to the left of the camera). The second light fills in the lighting without washing out the shading.. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 35. MERGE, by Steve Worley: A completely undocumented feature of Imagine! Its called "merge". I am pretty sure of what it does. Its in the Detail editor, directly below "join". What it does is takes the selected object, and optimizes it by removing duplicate points, lines, and faces. Some objects have a LOT. If you are using any of those objects I uploaded to ab20.larc.nasa.gov, USE THIS FEATURE. These objects are riddled with duplicate points- They look fine, but will save much smaller and (most importantly!) will redraw almost twice as fast when you move or zoom in any of the editors. Joining seems like it would improve Phong shading- I'll have to check. Another place where you might want to use this feature is after any "join", since a lot of edges and points might line up, especially if you're joining a front and back face to an extrusion. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 36. METALS, by Mike Halvorsen: It seems that after all this time the message on how to make Chrome, Gold Silver, Brass and other attributes that have a real world quality, has gone either unoticed or we have done a poor job of telling you how. So here is a quick quide. In no way should you use these numbers to be a holy grail, they are just numbers that I use and find that they meet my needs. First things First. These attributes of Gold or Silver (chrome) and other shiny metalics have almost more to do with the environment that they are in than the color or reflection of the object. Try to imagine yourself in the real world and understand that gold and chrome are most noticeable when they are shown in an environment of Bright sun with lots of colors and other items to help the attributes in a sense take hold. For GOLD. I make the object color Red 205, Green 205 and Blue 80. reflective settings are Red 180, Green 160 and Blue 125 I use hardness at 255 and specular 255 on all guns Red Green and Blue. If you add a intersting dithered Global brush to the Globals in the Action editor the effect is even better. Now the environment of tthat Gold likes seems to be the use of pastel or lighter colors for Horizon and Zenith colors. It is best to try several objects in a scene with different attribute numbers you will then get a much better feel for what YOU like. The one problem with Attributes is that you must decide for yourself what is GOLD or SILVER. One mans Gold is another mans (or womans) Brass. Chrome is almost the same. Object color: Red 120, Green 120, Blue 160 Reflective Red, Green and Blue 140 on each Specular 255 all Guns and Hardness 255 Last but not least, Glass. Make the object color Black or Red Green and Blue set to 0. Filter 255 on all guns, no reflectivity on any guns and Hardness 255, with Specular at 255 on all guns. So I hope this helps, or at least gives you some idea of what I use to get the effects that many find hard to conqure. Remember I have spent many hours trying several sets of attributes to get what I like. Chances are that if you do the same you will find yourself with results that you appreciate. On to more tracing.... +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 37. METALS II, by Mark Thompson: As I had mentioned before, for metals, it is best to make your specular color close to your surface color. 255 on all guns will yield the characteristic "plastic look" that standard Phong shading is known for. The reflectivity helps but it still doesn't look like metal. For this case, specular R = 255, G = 255, B = 160 should yield more realistic results. This is based on the actual behavior and physical properties of metalic materials. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 38. Mirrors, by Steve Worley: The trick with mirrors (or especially chrome-like objects) is not setting the attributes of the mirror correctly, but making sure that the environment is set up so something will be reflected into the camera. If a mirror is TOO reflective, the mirror can actually become invisible! This is because the mirror's own flat glass/metal flat coloring is overwhelmed by all the reflected light. You see a PERFECT reflected image, so the object itself isn't shown. This is especially true with flat mirrors. Some attributes that give a nice mirror polish: Color: RGB= 150 150 170 Reflect RGB= 200 200 210 (a bit of a blue tint) Transparency 0 0 0 Specular 255 255 255 Hardness 255 Rough=0 shiny=0 Again, the important part is that you should make sure the mirror is reflecting something into the camera. A scene with just a camera, a mirror, and a ground in it is awfully boring..... :-) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 39. Morphs, Mark Thompson: ... Most of the morphing you see on TV and in the movies use cross fades rather than highly complex morphs. Here is a blurb from the article I wrote for the August Amazing Computing. It is intended for LightWave users but can be applied to your renderer of choice. "Another limitation of morph is that the target object must essentially be the source object with only the vertex locations altered. In other words, the target must be derived from the source with no points added or deleted. Here once again, Object Dissolve can help out. In this case, two morphs occur simultaneously on top of one another while Object Dissolve smoothly fades out one morph while fading in the other. Two objects must be created in addition to the source and target. For object #1, you must manipulate the source to fit the approximate shape and size of the target object without adding or deleting points. Object #2 is merely the reverse operation to make the target look like the source. The two simultaneous morphs performed are source -> object #1 and object #2 -> target. Then dissolving the source out and object #2 in will complete the illusion. Similar techniques have been used recently for TV ads such as the mini van metamorphosis commercial for Chrysler." +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 40. Movement control, by Steve Menzies: I've been reading alot inn this group about objects flying off course in the middle of an animation. I too, have had a lot of this and while I don't have an inteligent explanation nor a "fix all", I do have something that may help: I have had many instances where I have wanted an object or a grouped object to either make a simple rotation ( w/rotation F/X), or have interactively rotated the object and used the keyframe capability on the alignment "bar". Often (not always) the object actually "flys" away from it's own axis rather than rotating with it. I have been able to stop this "flying away" by making a small incretment of only .0001 of a unit in the position bar (action editor) on one of the x,y,z axis (sometimes 2 axis!?) from the original position of the object. This works! (I don't know why, but it does:) All movement in Imagine is linear. This means that when you perform any kind of transformation (translation, scaling, rotation) or morph (interpolations, attributes) from point A to point B, you kiss the object goodbye at "A" and wait for it's arrival at "B" (if it doesn't fall apart on the way:). You have no *control* over HOW it gets there. In otherwords, how expressively this motion task is performed by the actor (charcter) or how the actor "changes over time". Take for example Imagine's morphing "on a channel" or it's new 1.1 keyframing capability. What Imagine does is divide the transformtion equally over the chosen # of frames. Imagine gives the same amplitude to the motion or movement in the first frame as to the middle frame as to the last frame. You may try to discretly add more keyframes "around" the extremities of the motions (cycle editor or stage editor) to try and soften or curve the angularness at the extremes but an analogy or visual equivelance of this would be adding more polygons to the structure of an object to create a smoother curvature but stll render it in FACETED mode. Can you imagine what your objects would look like (and the # of polys) if we didn't have phong shading?? Well thats what happening to our animations. We do have velocity control though. Unfortunately they couldn't have made it any more limited. It cannot be used except with a path and it is almost impossible to coordinate with other transformations. Talk about foot slip! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 41. PATHS I, by Stephen Menzies: No you can't use the stage editors paths for extrusion. As for your problems with extrusions, just make sure that the object to be extruded and the extrusion path have distinct names (and don't forget to hit RETURN whenever you fill in a requester (the characters will capitalize when you do that) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 42. PATHS, by Steve Worley and Rick Rodreguez: A message from Rick Rodreguez relayed through me- >Actually, Steve, making paths is simple. Add a Path in the Stage, go >to edit path mode and then Split Segment. Drag the new segment to the >place you wish the camera to visit and then split the segment again to >create the new stopping point. Paths are bezier curves which conform to >the placement of the axes that define individual segments (similar to >knots in Sculpt Animate's splines). The more segments you define, the >more complex your animation. Individual knots can be moved or rotated >so that the camera or object will pitch, bank and roll. >Hope this helps. >--Rick My reply- Yes, this is EXACTLY how to produce nice paths in the stage editor- it works wonderfully, and camera motion especially benefits from the smooth interpolation between knots. The problem that I was trying to convey wasn't difficulty in making a path, even a complex one. In the scene that we're talking about, though, is a walk-through of a house. It is _VERY_ difficult to resolve and define locations in the tri-view when the object's interior has detail, like this house will. My complaint was that the Stage editor lacked a "hide points" mode like the detail editor, and it might be worth the lower path quality (using straight line paths, ick!) just to be able to place the path accurately since you can take out the extra floors and rooms of the house using "Hide points." Now that I think about it, maybe the best solution is to use the detail editor and put an axis at each of the "waypoints" along the journey through the rooms. You could name the axes "Start" and "Point 1" and "Point 4" and "End", and so on. Then group them and save it. In the Stage editor, you can load this big thing, then make your spline path by using these pre-done waypoints. To find a waypoint, you don't have to sort through the mash of lines each view shows you- you just use the "find by name" requester which will gladly highlight each point in turn for you! This seems like the most reasonable solution to me, at least until we get a "hide points" command in the Stage Editor. Imagine 2.0, I guess.. :-) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 43. Planets made by Imagine, by Steve Worley: Here's a very useful trick for making stellar objects like planets or especially the Moon: It would be very nice to be able to model these object in Imagine, especially for space scenes, or starry nights. It would be especially cool if, in the case of the Moon, the crescent shadow were properly modelled. It would also be nice to have an accurate, cratered surface. Well, you can easily make an object that has both qualities. There are a LOT of NASA pictures available, especially as GIFS, which convert to HAM or 24-bit Amiga pictures pretty easily. If you could map these pictures onto a sphere, shadows would fall on the objects realistically. The problem is wrapping the picture onto a sphere- the forshortened perspective near the rim of the picture really looks wrong if you try to do a normal sphere wrap. The trick lies in how you map the pictures onto the sphere. YOU DO NOT _WRAP_ WRAP THE IFF FILE ONTO THE SPHERE. Instead, you FLAT wrap it. These pictures are essentially parallel projection views of the surface; the coloring already has spherical rim foreshortening implicit in it. If you FLAT wrap, these contours will align with the sphere's contours nearly exactly. This means you can even rotate the sphere slightly, and the craters, banding, etc. will move properly. Of course, the angle of view at the rim of the planet will force the image to lose detail there, but for turning small angles (like up to 20 degrees) the illusion is excellent. Light falling on the sphere will also cause the proper crescent shape to appear. Voila! Instant planet model! When making the IFF file, it is important to make sure the image exactly fits onto the brush- it should extend all the way to the edge. That is, if the circle/oval image is 500 pixels wide and 322 high, the brush you wrap should also be 500 wide and 322 high. Then, when you wrap the brush onto the sphere, you size the brush to cover the ENTIRE sphere, and you know the positioning is accurate. See my tutorial on brush wrapping if you need help on how to place brushes. You don't have to worry about the black background at the four corners on the brush- they are mapped onto empty space, and don't show up. If you are looking for pictures of stellar objects, an EXCELLENT source are the GIFs on wuarchive.wustl.edu. They have pix of Jupiter, the Moon, the Earth, and some of Voyager's pix (I forget which ones). The Art Department Professional is ideally suited to converting the GIFs to IFF24's and cropping the image so they take up the full size. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 44. QUICKER RENDERING, by Steve Worley: The next time you sit down in front of your Amiga (if you aren't already) IMMEDIATELY go to your Imagine directory and edit Imagine.config. Change the flag on "Do lines in color shade" from T to F. You have just changed a pitiful previewer into something that makes really nice quick anims. The "color shade" mode was stupid when I tried it out. Yes, you could see the color of every polygon, but a quick 100 by 100 HAM scanline was infinitely better. However, when I was playing with function keys in the config file, the "do lines" option caught my eye. (So much to experiment with... :-) The quality of the shaded models is decent. The objects are simplified, casting no shadows, and I think they lose brush and texture mapping. Unfortunately, ground is not rendered at all. So why am I raving? Because the quality is decent, and the rendering BLAZES!!!! A complex scene with about 10 objects with 400 polygons each rendered a 320 by 400 scene in about 50 seconds. The "percent done" indicator BLURS! [I have a 6M 25Mhz A3000, so I'm cheating] However, I can render a 20 frame anim in about 20 minutes- it rocks for testing the "feel" of an anim. I would think unaccellerated machines would benefit even more. The amount of setup and load time for each frame is also cut since it doesn't load textures, etc. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 45. RENDERING TIMES, by Stephen Menzies: The list is long: reflections and refractions increase rendering time significantly, anti-aliasing (0 longest)-btw this you must edit in the .config file and resolve depth (also in .config file), number of polygons, camera position (obliqueness), size of brush maps and even the numerical entries of solid textures, resolution, display and render modes etc etc. The big ones are refraction, edge level(anti aliasing , reflection (along with "depth") and #of polygons. Pretty well in that order too. Remember that a higher refraction index is longer rendering time also. And yes the scale of the object means a LOT. Imagine uses something called *Octree* to calculate the scene. I no nothing about it other than the larger the scale of the object, the faster it will render.The difference can go from *hours* to minutes.So scale your scene big. Select everything in the scene (including camera and lights) and scale it interactively. Don't worry, this won't disturb your camera view or anything like that. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 46. RESIZING (AND AVOIDING SPIKES), by Scott Sutherland: Mike (last name? from The Portal System) writes: >Has anyone else noticed this bug? I took an object, a human skull, >and wrapped a brush around it..marble..anyhow I took this object >into the stage editor and resized the object to make it smaller than >it was when I originally was defining it in the detail editor..when I >went to render the scene..there appeared to be a number of *spikes* >protruding from the skull..actually looked kinda cool..but not what >I had in mind..anyhow I feel the problem is that when you resize an >object in the stage editor that the points and faces are contracted.. >but the axis and any brush or attributes are *not* likewise contracted.. I encountered something similar (no "spikes" in mine though) on my mannequin project. You MUST be careful when you resize objects in the STAGE editor. I found that I needed to be in the GLOBAL (not LOCAL) mode to get things to work out right. And Mike is correct with respect to the TEXTURE attributes. I had the WOOD texture and grain nicely chosen for my original object. When I shrunk it by a factor of 100 and rendered it, the texture lines were gone. It turns out that all the info that is in the EDIT TEXTURE window is unaffected by all of this shrinking or expanding. You must change these in the DETAIL Editor. Also, if you are MORPHING one object into another, these Details are not affected. What do I mean? I morphed a wood object into a black GLOSSY object. As I carefully watched the object morph animation, I saw that the BASE color of my tan wood slowly changed into black over the 25 frames of my animation. However, the wood GRAIN color remained constant. Then the GRAIN just 'popped' out (disappeared from one frame to another) from frame 24 to 25. This does make some interesting effects, but it was NOT what I wanted. I did find a work-around for this (don't we seem to spend a lot of time finding out how to use UNDOCUMENTED features to work around things the DOCUMENTED features cannot handle ;^))?? ). In the STAGE editor, I moved to FRAME 24 and SAVED this object as OBJ.FR24 (or something like this). I loaded it into the DETAIL editor and changed the grain color to something more reasonable (it went from Dark Brown to black, so I just lowered the intensities on all guns to almost black). I then went back to the STAGE editor and did the following. I deleted my original morphing object. Then I loaded the starting wood object into frame 1. I then loaded my OBM.FR24 into frames 2-24 with a transition of 23 (or is it 22? I forget.). Then I loaded my FINAL black object into frame 25. Thus, Imagine thinks it is morphing from one wood texture to another for 24 frames and then to a solid (non-textured) surface in frame 25. From frames 1-24, both the base color AND the grain color morph. I suppose that I could have simply KEPT the wood texture on and morphed from my original wood texture in frame 1 to a BLACK base color and BLACK grain colored wood in frame 25. This would have saved me from using 3 different objects for this, but I wanted to remove the wood completely. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 47. RETRACKING THE CAMERA, by ???????: In the Stage editor it is possible to re-track the camera to your object after moving the camera (or the object I assume, I didn't try it), just hit Right Amiga-C and hit return to clear the requestor, and the camera is now re-aligned to your object. I had been going back to Action and doing the delete-add-track sequence on the camera's actor bar. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 48. ROTATING, by Udo Schuermann: It's ALIGNMENT and not ROTATION. And yes, morphing the alignment (orientation) will use "shortest distance between two angles." Breaking up the rotation should work. I have had success with something like 0-175, 180-355 on a 72 frame rotation, so I know it can be done. Try 0-170, 180-350. If you're not using any other F/X on the object, then use the Rotate F/X -- it's VERY easy to use and can save you a lot of work. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 49. Shadows on mapped surfaces, by Steve Worley: Marc Thompson writes: >The only thing I don't like about it is that shadows cast on a bump >mapped surface don't conform to the bumps (since the bumps aren't really >there). There are some papers that address this problem, but I would like >to come up with a solution that is within the realm of LightWave or >Imagine to fix. Anybody have some ideas they'd like to kick around? There are a couple of solutions, though I don't know how successful they'll be. The most logical is probably to try to soften the shadow edge as much as you can, so that it's not a ruler straight line that doesn't follow the apparent contours. (Lightwave has soft shadows, yes?) If the built in soft shadows aren't blurry enough, try replacing each light with a cluster of three light sources of 1/3 the intensity. That will soften the shadows and also give you control over the amount of shadow-edge blurring just by moving the lights closer or further apart. This technique can be used in Imagine as well. So Mark, there isn't any way to change the renderer: the shadows are going to be projected on a flat plane. Unless you replace your water with a real height surface (ugh!) you have to live with the broken shadow edge. The best you can do is hide it by blurring the edge (as described above) or manipulating the scene and camera to minimize it's appearance. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 50. SKIN, by Kevin Goroway: I've used this to create airplane wings, and the like, I start by creating the "ribs" of the wing. copy them, size them, etc. until I have the ribs of the wing done (much like a balsa wood model of a plane). I then multi select all of the ribs, and select SKIN, which does exactly what you would expect. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 51. SLICE I, by Kevin Goroway: Create the object that you want to bore a whole through, or slice. A sphere will be fine (primitive sphere) Create the object to do the cutting with, a cylinder to drill a hole, or a plane to do some cutting, for example. Place the objects over one another, aligned the may you want the SLICE to take affect (did you understand that?) Multi Select the two objects (order doesn't seem important) and select SLICE. This will leave many new objects, which you can cycle through and delete the ones that you do not need, or want. For example, slicing a sphere with a plane will leave the bottom half of the sphere, the top half of the sphere, a plane with a disc cut out of it, and a disc. (understand where these all come from...) SLICE can be used to do some very powerful things (BOOLEAN wise...) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 52. Slice II, by Colin Stobbe: I just got the Imagine Compendium 91b today, but noticed that there isn't much about SLICE, one of my favorite features, so I decided to tell all of you what I do with it. One of the objects I've been working on for the past while, requires quite a number of 'decals' (I'm actually modelling a plastic model I have). I however have had little success with brush maps in the past, however (it was before I got on this echo). When I got Imagine, with it's slice feature, my problems were solved. Now what I do, is draw the decal in a paint package, import it into Imagine with the CONVERT IFF/ILBM feature in the detail editor and extrude it. What I've now got is basically a punch, which I position partially inside the object I want to put the 'decal' on. I next SLICE them together. What I'm left with is usually four objects. I've got the 'punch' in two pieces, which I dicard, the origional object with a hole the shape of the 'decal', and a piece of the origional object in the shape of the 'decal'. I've now avoided using a brushmap, but more importantly, I can change the attributes of the 'decal'. Insted of having just a flat color, I can change the reflectivity, roughness, etc., and put textures and even brushmaps on the 'decal', making it look quite a bit more interesting. The only problem with SLICE is that it takes memory, lots of it. When I only had 3MB, I ran out all the time, and even at 10MB I've run out of memory. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 53. SNAPSHOT I, by ?????: >From the stage editor, assume you have an object that has the effect of explode. Goto the last frame of the animation (again, assuming that this is a x-frame length animation where explode runs from frame 1 to frame x). You will see the object is in pieces according to your description of explode. Select the object (eg, place the cross-hairs over the object's axis origin and click). Select snapshot. You will then be presented with a file requestor for an object file. Type in object's_name.exploded. Now go into detail editor and load object's_name.exploded. You will then load the "exploded" version of the object. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 54. SNAPSHOT II, by Scott Sutherland: I do not know about your exact situation with the STAGE editor, but let me tell you my encounter with something similar that may help you out. I was attempting to MORPH two objects together. I had created one of them using the DETAIL editor, saved it, and then used the various tools in the DETAIL editor to alter it to its final 'morphed' form. I then went to the STAGE editor and loaded object one for one frame. Then I loaded object 2 for frames 2-25. I looked at the FIRST and LAST frames and all looked well. Then I chose ANIMATE to do a wire-frame preview. What I saw was that, while my object morphed, it stretched along the X axis by ~30%. Well, I checked to see if the final object was larger than the initial one (loaded them on top of one another in the DETAIL editor). They were the SAME 'apparent' size. I put apparent in quotes because this WAS my problem. I looked at frame 1 of the animation, selected the object, and checked its size. I then looked at the final object in frame 25 and checked its size. THEY were the SAME. However, when I looked at them in the DETAIL editor, their Y sizes were NOT the same. I guess that the size is taken from the axes or something. Armed with this knowledge, I went back to the STAGE editor and into the ACTION editor. I noticed that my SIZE line for the morphed object was only defined for FRAME 1. I selected INFO and the clicked on the object size. I altered the FINAL frame number to 25 and tried again. I got the SAME result as before (morphing and stretching). Finally, I went to FRAME 25 of the morphed object's SIZE line and changed the size to the numbers given to me in the DETAIL editor for the final object. THIS SOLVED THE PROBLEM!!! Thus, check all initial and final sizes and play around with the object's SIZE timeline. As for the TRACK axis, I had similar problems. I just deleted my TRACK object and reloaded it clicking once on the first frame of the animation and once on the last frame to give it a timeline over the entire animation. I hope this helps (you and anyone else having problems). +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 55. Starfields I, by Matt Feifarek: The best star generator that I know of is Dpaint... Hires, grey scale palette... Set the range to be the whole palette. Turn on cycle draw. SIze the airbrush REALLY big ( 500+) click... instant star field. Map this onto a ground object (with repeat if you want), and use it like a ceiling. The different grey levels give the impression of different star magnitudes and sizes. The only drawback to this is that there is no parallax, but there is VERY little in real life, unless you are travelling at near-light velocity. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 56. Starfields II, by Juan Trevino: One way to make a moving starfield in an animation (assuming this is an ANIM OP 5 format) is to load the anim into DPAINT. Then, using Kara's Starfields, you can use a stencil to place them behind your image. Of course, you will have to have enough RAM to load the anim in as an ANIMBRUSH. This should theoretically work, although I haven't tried it. BTW, when you render, you should use the Genlock Background option in the Action/Global menu. Another way, maybe easier, would be to load up the KARA Starfield Anim into DPAINT, then save them out as separate frames. Then use the feature of IMAGINE to Flat X Flat Z wrap them onto a plane using all the frames in an animation. Get my drift? +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 57. TEXTURE AXIS, by denbeste@ursa-major.spdcc.com: The texture axis is the reference from which the texture algorithm calculates its discontinuities. If you place the texture axis at 100,100,100 and are using "checks" with cube-size of 40, then on each axis the color changes will occur at -20, 20, 60, 100, 140, 180 etc. If you set up a cube (or a "ground") so that it lays exactly at one of these change planes, you'll get what they refer to as "digital bounce" which means that the color is indeterminate and it effectively makes a random choice. You need to offset the texture axis so that the surfaces of your object do not lay on such change planes. The "brick" texture isn't any more complex conceptually than "checks", it just has more of these color planes to watch out for. For example: If your "brick" texture is centered at 0,0,0 and has brick size of 40,40,40 and mortar size of 10,10,10, then on the X axis there's a color change plane at 0, 40, 50, 90, 100, 140, 150 etc. >With the cube, axis in the exact center, where do I place the axis of the >Texture? in the cube? out of the cube? Since a texture extends infinitely far in all directions,this doesn't matter. What IS important, as stated above, is to place the axis so that none of the surfaces of the object lay exactly on any color-change plane. > Maybe I should move the axis of he cube? The axis of the texture is kept relative to the axis of the cube, so moving the cube won't cause manifestation of the texture to change. > How big should I scale the Texture, does this matter at all?! You should scale the texture to make the result look the way you want. For instance, you need to make sure you don't make it too large, or else your cube might end up being one big brick - which is rather pointless. Equally, if you make the texture too small, your cube might become a hundred million tiny bricks, which is equally pointless. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 58. TEXTURES, by Steve Worley (a full treatise on the topic): No matter how good you are at creating objects, they are never detailed enough, especially in surface appearance. Textures allow you to quickly give your objects a complex, detailed surface without much work. A woodgrained picture frame has a lot more character than a flat brown one. Textures are just algorithms that Imagine uses to decide how to color a particular point on the surface of an object. Textures can also determine the transparency, reflection, and surface angle at each point. They can even be layered on top of each other for more complex effects. Each texture has its own particular inputs. Most of the time, you need to enter a color, transparency, and reflection value for whatever detail the texture is applying to your object. These are raw numbers- no sliders. I often use the color sliders in the attribute requester to chose the texture color or whatever, then write the numbers I want down. [Remember to reset the default color!] Note that for most textures, when I say "color" I mean surface color, reflection, and transparency. Most textures can set all three! Some textures, like disturb, will affect surface light reflection like altitude brush maps do. More on altitude maps in the next article. There are often a few extra parameters to set dealing with the way the texture is applied. This might be check spacing, wood grain thickness, or brick size. These are pretty straightforward, especially since the photocopied Imagine Manual addenda have OK descriptions of what each parameter does. One very important note: Any raw size measurement, like check size, (anything that measures a distance) is measured in STAGE EDITOR units. Huh? What I mean is that if your check size is 100, every 100 units in the STAGE editor you'll get a new check. This won't matter if you don't resize your objects in the stage editor, but if you design a checkerboard thats 80 units wide, and set check distance to 10, things might work out great. If, however, you scale the object in the STAGE editor to 160, you're going to get 16 checks across. -->Texture parameters do NOT scale with objects<-- The only other parameter is the texture axis, which can be manually edited. The texture axis is pretty important. For most textures, you need a "base" location and orientation to give the details a reference. For example, the linear texture needs to know where the "fade" starts and what direction to fade in. What you do is just place the texture axis where you want the fade, and point the Z axis in the direction you want it to go. The wood texture at it's simplest is a bunch of concentric cylinders of coloring. Where should the center be, and which direction should the cylinder point? The texture axis will tell you. Some textures don't care about the axis, though, like Camo. An important point- if your texture axis is RIGHT on a face, you might get some funky effects, since for a texture like checks, the surface of the object is EXACTLY where the checks change. The algorithm does not know what color to return, so you get what Impulse calls a "digital bounce." This is most common when you're texture mapping a flat plane. Fix: move the texture axis just a tiny bit. A tip- wood looks best when the axis is nearly, though not quite, parallel to the longest object dimension. This gets you nice grain cross sections, and looks more realistic (who ever cut two-by-fours across the grain?) I could go into a discourse about each texture, but that'd take a lot of time. The trick is to play with them! Mike Halvorson loves to say "just play with the feature, you'll get it", which I find true, but very vague and annoying to users who are already confused. However, for people who are comfortable with Imagine, its the best way to extend your mastery and produce some truly delightful scenes. Many, if not all, textures only affect some parts of an object. The camouflage texture is an excellent example. You set the default color of the object from the attributes requester. The Camo texture then layers its spots ON TOP of this default. If there is no spot on a particular location, the default color will show through. This is true with most textures. Wood only adds the "grain" and lets the object's default color become the normal woody non-grain parts. Linear gradually fades from the default to another color. Checks adds color on its checks and lets the default attributes stay in the opposing checks. Why is this important? Well, this can be used to our great advantage. YOU CAN ADD UP TO FOUR TEXTURES simultaneously. They are added in order from 1 to 4. What can you do with this? Well, you can take a desk, and with Texture 1 add a wood texture. Then you can add a camo texture as #2, and the spots will cover up the wood, but you'll see GRAINED wood where there are no spots and NONGRAINED, solid color spots where there's a camo spot. This can be used up to four times. I have an island (I'm working on "Ocean Sunset") and I've given the Vista-created terrain three textures. First, a Radial texture which varies the base color from two subtle shades of sandy-brown. Second, my sandstone texture (I posted long ago) to simulate the sandy shores. [Maybe camo with TINY spots would work.. Hmmm] Then, a linear which fades the beach into a nice vegetation green color once you get past a certain distance from the beach. These give the island a nice, detailed character that I'd never be able to match by picking and coloring individual polygons. Louis Markoya's Surface Master has some example combinations of textures. He has pictures that show how the different texture parameters affect the final object appearance. I believe he showed all the textures except Camo. He also had a selection of parameters for the wood texture for different pieces of wood- it was VERY nice. The examples of combinations of textures (like dots on brick) were pretty cheesy, though. The most useful textures are probably wood and linear. Wood can do a lot of powerful effects, and linear is useful everywhere. The other textures are useful, too, of course, but I use linear and wood the most. There are a lot of impressive things you can do by abusing textures :-) Here's a fun one: o Create an object. A long logo works great. Color it and texture it any way you want. o Add a linear texture, set the Z transition width to about 20% of the object length. Put the texture axis way over to one end, oriented towards the center of the logo or whatever. Make the color of the texture be black, no reflection, and 255 255 255 filter. Yes, completely transparent. Make sure the linear texture is the last one if you already have some other textures on the object. o Render. You should have basically an invisible object, since the linear texture is completely transparent and covers the whole logo. Fix the axis if its pointed the wrong way. o Copy the object. Move the texture axis way to the other side, oriented the same way. Save it with a DIFFERENT filename. Test render. It should look just like your normal object without a funky linear texture. It should certainly NOT be transparent. o The fun part. In the action editor, morph object one into object two. The only change is the texture axis, so Imagine will interpolate its location from one end of the logo to the other for each frame. Make the animation at least 10 frames, preferably 20. You can render in scan- it'll work just fine. What happens is the linear transition band "flies" across the logo, fading the logo in as it moves from one side to the other. It's an impressive way to introduce an object into a scene! It is also pretty easy to do... 10 minutes tops. Textures are really powerful, and if you haven't played with them, START! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 59. Wall Paintings, by Udo Schuermann: Juha Kallioinen writes: > I'm making a painting with a wooden frame to be hang on a wall. > There popped up a problem with the brush and the wood texture. > If I put the brush inside the frame like the awful picture down there > shows, I get the wood grain rendered on the brush, and that is not what > I meant. What should I do with my texture parameters ? The solution is to separate the frame and the backing upon which you map the brush (front view): _________ | _______ |<--frame (object 1) || |<---backpane (object 2) || || || || ||_______|| |_________| The Backpane gets the IFF brush mapped onto it; the frame gets the wood texture. Group the two objects together and save them as a group. Voila! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 60. Walls I, by Mark Thompson: I am surprised no one has mentioned the method I would have used. Create a 2D outline of the floorplan and extrude it up. Then simply pop a ceiling and floor on it. The floorplan could be created either in Imagine or even a paint program and then auto-traced. This means you will have to bust up a few polygons to add the windows and doors but that is a minor task if you have a complex floorplan. I'm not sure how difficult it would be to add the windows/doors in Imagine's modeler, but it would be a breeze in LightWave. Hope this helps. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 61. Walls II, by Steve Worley: Two methods. First, you can design your walls to be nice dimensions like 100 or 1024 instead of 383.38. Place your axis at the corner of each wall. Then, to get seamless joins, use "snap to grid" in the project editor which will instantly adjust your walls to a perfect fit. [As long os your wall lengths are muliples of the grid line spacing.] The other cheesy option is to make your walls too big. Then INTERSECT them. You get a mess BEHIND the wall, but if you don't look there, you'll never see it. wall 1 | ------------------+-- | | wall 2 | | | camera X +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 62. WORLD SIZE I, by ??????? So THAT's how you change the world size! The size requester in the Globals section!!!!! Is this true? I'm gonna play with it, but has anybody else found this?- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 63. World Size II, by Steve Worley: Juan asks about world sizes. Here's my thoughts on them. World size is an awfully confusing option in Imagine, which I think shouldn't even exist. Basically, what happens is that when in TRACE mode, there is an algorithm that sorts objects (and parts of objects) in a rough depth order so that figuring out what obscures what is a bit faster. The world size tells Imagine how big of a volume to expect objects in (what volume to sort). Unfortunately, if you have objects outside this volume, they won't be sorted and probably won't even be rendered. Thus, keeping your objects INSIDE the world is important. However, if you keep your objects contained within your world by making EVERYTHING really tiny, your objects will take up only a small volume of the world. When Imagine starts "sorting the world" it has to wade through a lot of empty space to "get to" your objects. Unfortunately, all of the extra empty volume takes time to sort though, so the rendering slows down. Sometimes this slowdown is DRAMATIC, like 10 times slower in trace. [Forgive the handwaving explanations of an octree. I know you're groaning, Mark.] Thus, there is a certain scale you want to make all of your objects. You do NOT want to make your objects larger than the world, or they won't render. You also do NOT want to make your objects too small, or you'll wait forever to render. The way you can manually change world size is by adding a size bar to the GLOBALS actor in the Action Editor. Unfortunately, a lot of people use this to get around the sizing problem. Unfortunately, because a lot of people don't know exactly what it does and MISusing global world size is a very frustrating experience. You're welcome to play with this "solution", but I'll give my FOOLPROOF method of sizing. Steve's Foolproof World Size: The DEFAULT world size is a cube that is 2048 units wide, high, and deep, centered around 0 0 0. [X, Y, and Z coordinates range from -1024 to +1024] As long as all of your objects are within this range, they will render, and you do NOT have to add a size bar to the Global actor. This is the big trick- use the default! If you start mucking with size bars, you're gonna confuse yourself. I do. "But what if an object accidentally goes outside the volume? Don't I have to increase the world size then?" Well, no. You can always move and rescale your scene to fit inside the world volume. Remember you might also have a scene that is too SMALL so it takes forever to render, and this situation is almost at bad as having cut-off objects. What you do (and what _I_ always do) is design my scene at about the right scale (ie, my scene's objects stay within a volume about 2048 units on a side.) I do NOT worry about going outside the volume or trying to keep things big. I make sure that I don't do something boneheaded like make cars 1 unit wide or 10000 units wide. The best way to do this is to set a grid size of about 50. If I zoom in too much, the grid dissapears, reminding me I might have the scale too small. If I zoom way out, the grid blurs into a near-solid patters, remining me I'm on a too-large scale. Remember, I'm not really paying attention to the real size, I'm just making sure that I'm somewhere within an order of magnitude of it. Finally, when my scene is done, I use a trick to make everything fit into the world nice and neatly. First, I set the grid size to 1023. This makes the world size easy to see, its the volume between the first grid lines. I select an object near the center of my scene, then I multi-pick ALL of the objects (by holding down the shift key and clicking on the objects one at a time.) This INCLUDES the camera and the lights. Nothing should be left out: no objects drawn in white should be on the scene. Then (I) hit "m" for move. ALL of the objects are moved at the same time, and their relative positions are not changed. Move the objects so that they are centered about the 0 0 0 world origin. "Centered" means the the far leftmost object is as far away from the origin as the rightmost object, the frontmost is as far in front of the origin as the backmost object is in back of the origin, etc. Now, hit "s" to scale the objects. ALL of the objects will shrink or expand around one point (the object you selected first). You want to size the objects so that they JUST fit into the world volume that you've defined by the grid lines. Usually just one dimension is the limiting factor; size the objects to that the largest dimension fits. (DON'T individually size the X,Y,Z dimensions!) You might want to use "m" again if the shrinking/expanding scene moves off of center. Your final configuration should have all of the objects centered inside the world with the objects taking up most of the volume of the world (in at least one direction). The beauty of this method is twofold: first, you don't have to muck with world size, but everything will render at optimum speed. Second, you don't have to pay attention to world size while you create your scene. The resizing will NOT, repeat will NOT, change your camera views! The camera is resized with your objects, so everything stays in proper perspective (literally). (The technical explanation is that cameras measure angles, not distances.) Thats it. I don't worrry about world sizes or slow renders now. Frankly, I never understood how to tweek world size for perfect renders, so this method saved me a lot of grief. ==================== end of compendium main body ============================